# frozen_string_literal: true

# WARNING ABOUT GENERATED CODE
#
# This file is generated. See the contributing guide for more information:
# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
#
# WARNING ABOUT GENERATED CODE

module Aws::Odb
  module Types

    # @!attribute [rw] marketplace_registration_token
    #   The registration token that's generated by Amazon Web Services
    #   Marketplace and sent to Oracle Database@Amazon Web Services.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/AcceptMarketplaceRegistrationInput AWS API Documentation
    #
    class AcceptMarketplaceRegistrationInput < Struct.new(
      :marketplace_registration_token)
      SENSITIVE = []
      include Aws::Structure
    end

    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/AcceptMarketplaceRegistrationOutput AWS API Documentation
    #
    class AcceptMarketplaceRegistrationOutput < Aws::EmptyStructure; end

    # You don't have sufficient access to perform this action. Make sure
    # you have the required permissions and try again.
    #
    # @!attribute [rw] message
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/AccessDeniedException AWS API Documentation
    #
    class AccessDeniedException < Struct.new(
      :message)
      SENSITIVE = []
      include Aws::Structure
    end

    # A summary of an Autonomous Virtual Machine (VM) within an Autonomous
    # VM cluster.
    #
    # @!attribute [rw] autonomous_virtual_machine_id
    #   The unique identifier of the Autonomous VM.
    #   @return [String]
    #
    # @!attribute [rw] status
    #   The current status of the Autonomous VM.
    #   @return [String]
    #
    # @!attribute [rw] status_reason
    #   Additional information about the current status of the Autonomous
    #   VM, if applicable.
    #   @return [String]
    #
    # @!attribute [rw] vm_name
    #   The name of the Autonomous VM.
    #   @return [String]
    #
    # @!attribute [rw] db_server_id
    #   The unique identifier of the database server hosting this Autonomous
    #   VM.
    #   @return [String]
    #
    # @!attribute [rw] db_server_display_name
    #   The display name of the database server hosting this Autonomous VM.
    #   @return [String]
    #
    # @!attribute [rw] cpu_core_count
    #   The number of CPU cores allocated to this Autonomous VM.
    #   @return [Integer]
    #
    # @!attribute [rw] memory_size_in_g_bs
    #   The amount of memory allocated to this Autonomous VM, in gigabytes
    #   (GB).
    #   @return [Integer]
    #
    # @!attribute [rw] db_node_storage_size_in_g_bs
    #   The amount of storage allocated to this Autonomous Virtual Machine,
    #   in gigabytes (GB).
    #   @return [Integer]
    #
    # @!attribute [rw] client_ip_address
    #   The IP address used by clients to connect to this Autonomous VM.
    #   @return [String]
    #
    # @!attribute [rw] cloud_autonomous_vm_cluster_id
    #   The unique identifier of the Autonomous VM cluster containing this
    #   Autonomous VM.
    #   @return [String]
    #
    # @!attribute [rw] ocid
    #   The Oracle Cloud Identifier (OCID) of the Autonomous VM.
    #   @return [String]
    #
    # @!attribute [rw] oci_resource_anchor_name
    #   The name of the Oracle Cloud Infrastructure (OCI) resource anchor
    #   associated with this Autonomous VM.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/AutonomousVirtualMachineSummary AWS API Documentation
    #
    class AutonomousVirtualMachineSummary < Struct.new(
      :autonomous_virtual_machine_id,
      :status,
      :status_reason,
      :vm_name,
      :db_server_id,
      :db_server_display_name,
      :cpu_core_count,
      :memory_size_in_g_bs,
      :db_node_storage_size_in_g_bs,
      :client_ip_address,
      :cloud_autonomous_vm_cluster_id,
      :ocid,
      :oci_resource_anchor_name)
      SENSITIVE = []
      include Aws::Structure
    end

    # Information about an Autonomous VM cluster resource.
    #
    # @!attribute [rw] cloud_autonomous_vm_cluster_id
    #   The unique identifier of the Autonomous VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] cloud_autonomous_vm_cluster_arn
    #   The Amazon Resource Name (ARN) for the Autonomous VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] odb_network_id
    #   The unique identifier of the ODB network associated with this
    #   Autonomous VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] oci_resource_anchor_name
    #   The name of the OCI resource anchor associated with this Autonomous
    #   VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] percent_progress
    #   The progress of the current operation on the Autonomous VM cluster,
    #   as a percentage.
    #   @return [Float]
    #
    # @!attribute [rw] display_name
    #   The display name of the Autonomous VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] status
    #   The current state of the Autonomous VM cluster. Possible values
    #   include `CREATING`, `AVAILABLE`, `UPDATING`, `DELETING`, `DELETED`,
    #   `FAILED`.
    #   @return [String]
    #
    # @!attribute [rw] status_reason
    #   Additional information about the current status of the Autonomous VM
    #   cluster.
    #   @return [String]
    #
    # @!attribute [rw] cloud_exadata_infrastructure_id
    #   The unique identifier of the Cloud Exadata Infrastructure containing
    #   this Autonomous VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] autonomous_data_storage_percentage
    #   The percentage of data storage currently in use for Autonomous
    #   Databases in the Autonomous VM cluster.
    #   @return [Float]
    #
    # @!attribute [rw] autonomous_data_storage_size_in_t_bs
    #   The data storage size allocated for Autonomous Databases in the
    #   Autonomous VM cluster, in TB.
    #   @return [Float]
    #
    # @!attribute [rw] available_autonomous_data_storage_size_in_t_bs
    #   The available data storage space for Autonomous Databases in the
    #   Autonomous VM cluster, in TB.
    #   @return [Float]
    #
    # @!attribute [rw] available_container_databases
    #   The number of Autonomous CDBs that you can create with the currently
    #   available storage.
    #   @return [Integer]
    #
    # @!attribute [rw] available_cpus
    #   The number of CPU cores available for allocation to Autonomous
    #   Databases.
    #   @return [Float]
    #
    # @!attribute [rw] compute_model
    #   The compute model of the Autonomous VM cluster: ECPU or OCPU.
    #   @return [String]
    #
    # @!attribute [rw] cpu_core_count
    #   The total number of CPU cores in the Autonomous VM cluster.
    #   @return [Integer]
    #
    # @!attribute [rw] cpu_core_count_per_node
    #   The number of CPU cores enabled per node in the Autonomous VM
    #   cluster.
    #   @return [Integer]
    #
    # @!attribute [rw] cpu_percentage
    #   The percentage of total CPU cores currently in use in the Autonomous
    #   VM cluster.
    #   @return [Float]
    #
    # @!attribute [rw] data_storage_size_in_g_bs
    #   The total data storage allocated to the Autonomous VM cluster, in
    #   GB.
    #   @return [Float]
    #
    # @!attribute [rw] data_storage_size_in_t_bs
    #   The total data storage allocated to the Autonomous VM cluster, in
    #   TB.
    #   @return [Float]
    #
    # @!attribute [rw] db_node_storage_size_in_g_bs
    #   The local node storage allocated to the Autonomous VM cluster, in
    #   gigabytes (GB).
    #   @return [Integer]
    #
    # @!attribute [rw] db_servers
    #   The list of database servers associated with the Autonomous VM
    #   cluster.
    #   @return [Array<String>]
    #
    # @!attribute [rw] description
    #   The user-provided description of the Autonomous VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] domain
    #   The domain name for the Autonomous VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] exadata_storage_in_t_bs_lowest_scaled_value
    #   The minimum value to which you can scale down the Exadata storage,
    #   in TB.
    #   @return [Float]
    #
    # @!attribute [rw] hostname
    #   The hostname for the Autonomous VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] ocid
    #   The Oracle Cloud Identifier (OCID) of the Autonomous VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] oci_url
    #   The URL for accessing the OCI console page for this Autonomous VM
    #   cluster.
    #   @return [String]
    #
    # @!attribute [rw] is_mtls_enabled_vm_cluster
    #   Indicates whether mutual TLS (mTLS) authentication is enabled for
    #   the Autonomous VM cluster.
    #   @return [Boolean]
    #
    # @!attribute [rw] license_model
    #   The Oracle license model that applies to the Autonomous VM cluster.
    #   Valid values are `LICENSE_INCLUDED` or `BRING_YOUR_OWN_LICENSE`.
    #   @return [String]
    #
    # @!attribute [rw] maintenance_window
    #   The scheduling details for the maintenance window. Patching and
    #   system updates take place during the maintenance window.
    #   @return [Types::MaintenanceWindow]
    #
    # @!attribute [rw] max_acds_lowest_scaled_value
    #   The minimum value to which you can scale down the maximum number of
    #   Autonomous CDBs.
    #   @return [Integer]
    #
    # @!attribute [rw] memory_per_oracle_compute_unit_in_g_bs
    #   The amount of memory allocated per Oracle Compute Unit, in GB.
    #   @return [Integer]
    #
    # @!attribute [rw] memory_size_in_g_bs
    #   The total amount of memory allocated to the Autonomous VM cluster,
    #   in gigabytes (GB).
    #   @return [Integer]
    #
    # @!attribute [rw] node_count
    #   The number of database server nodes in the Autonomous VM cluster.
    #   @return [Integer]
    #
    # @!attribute [rw] non_provisionable_autonomous_container_databases
    #   The number of Autonomous CDBs that can't be provisioned because of
    #   resource constraints.
    #   @return [Integer]
    #
    # @!attribute [rw] provisionable_autonomous_container_databases
    #   The number of Autonomous CDBs that can be provisioned in the
    #   Autonomous VM cluster.
    #   @return [Integer]
    #
    # @!attribute [rw] provisioned_autonomous_container_databases
    #   The number of Autonomous CDBs currently provisioned in the
    #   Autonomous VM cluster.
    #   @return [Integer]
    #
    # @!attribute [rw] provisioned_cpus
    #   The number of CPU cores currently provisioned in the Autonomous VM
    #   cluster.
    #   @return [Float]
    #
    # @!attribute [rw] reclaimable_cpus
    #   The number of CPU cores that can be reclaimed from terminated or
    #   scaled-down Autonomous Databases.
    #   @return [Float]
    #
    # @!attribute [rw] reserved_cpus
    #   The number of CPU cores reserved for system operations and
    #   redundancy.
    #   @return [Float]
    #
    # @!attribute [rw] scan_listener_port_non_tls
    #   The SCAN listener port for non-TLS (TCP) protocol. The default is
    #   1521.
    #   @return [Integer]
    #
    # @!attribute [rw] scan_listener_port_tls
    #   The SCAN listener port for TLS (TCP) protocol. The default is 2484.
    #   @return [Integer]
    #
    # @!attribute [rw] shape
    #   The shape of the Exadata infrastructure for the Autonomous VM
    #   cluster.
    #   @return [String]
    #
    # @!attribute [rw] created_at
    #   The date and time when the Autonomous VM cluster was created.
    #   @return [Time]
    #
    # @!attribute [rw] time_database_ssl_certificate_expires
    #   The expiration date and time of the database SSL certificate.
    #   @return [Time]
    #
    # @!attribute [rw] time_ords_certificate_expires
    #   The expiration date and time of the Oracle REST Data Services (ORDS)
    #   certificate.
    #   @return [Time]
    #
    # @!attribute [rw] time_zone
    #   The time zone of the Autonomous VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] total_container_databases
    #   The total number of Autonomous Container Databases that can be
    #   created with the allocated local storage.
    #   @return [Integer]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/CloudAutonomousVmCluster AWS API Documentation
    #
    class CloudAutonomousVmCluster < Struct.new(
      :cloud_autonomous_vm_cluster_id,
      :cloud_autonomous_vm_cluster_arn,
      :odb_network_id,
      :oci_resource_anchor_name,
      :percent_progress,
      :display_name,
      :status,
      :status_reason,
      :cloud_exadata_infrastructure_id,
      :autonomous_data_storage_percentage,
      :autonomous_data_storage_size_in_t_bs,
      :available_autonomous_data_storage_size_in_t_bs,
      :available_container_databases,
      :available_cpus,
      :compute_model,
      :cpu_core_count,
      :cpu_core_count_per_node,
      :cpu_percentage,
      :data_storage_size_in_g_bs,
      :data_storage_size_in_t_bs,
      :db_node_storage_size_in_g_bs,
      :db_servers,
      :description,
      :domain,
      :exadata_storage_in_t_bs_lowest_scaled_value,
      :hostname,
      :ocid,
      :oci_url,
      :is_mtls_enabled_vm_cluster,
      :license_model,
      :maintenance_window,
      :max_acds_lowest_scaled_value,
      :memory_per_oracle_compute_unit_in_g_bs,
      :memory_size_in_g_bs,
      :node_count,
      :non_provisionable_autonomous_container_databases,
      :provisionable_autonomous_container_databases,
      :provisioned_autonomous_container_databases,
      :provisioned_cpus,
      :reclaimable_cpus,
      :reserved_cpus,
      :scan_listener_port_non_tls,
      :scan_listener_port_tls,
      :shape,
      :created_at,
      :time_database_ssl_certificate_expires,
      :time_ords_certificate_expires,
      :time_zone,
      :total_container_databases)
      SENSITIVE = []
      include Aws::Structure
    end

    # Resource details of an Autonomous VM cluster.
    #
    # @!attribute [rw] cloud_autonomous_vm_cluster_id
    #   The unique identifier of the Autonomous VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] unallocated_adb_storage_in_t_bs
    #   The amount of unallocated Autonomous Database storage in the
    #   Autonomous VM cluster, in terabytes.
    #   @return [Float]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/CloudAutonomousVmClusterResourceDetails AWS API Documentation
    #
    class CloudAutonomousVmClusterResourceDetails < Struct.new(
      :cloud_autonomous_vm_cluster_id,
      :unallocated_adb_storage_in_t_bs)
      SENSITIVE = []
      include Aws::Structure
    end

    # A summary of an Autonomous VM cluster.
    #
    # @!attribute [rw] cloud_autonomous_vm_cluster_id
    #   The unique identifier of the Autonomous VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] cloud_autonomous_vm_cluster_arn
    #   The Amazon Resource Name (ARN) for the Autonomous VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] odb_network_id
    #   The unique identifier of the ODB network associated with this
    #   Autonomous VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] oci_resource_anchor_name
    #   The name of the OCI resource anchor associated with this Autonomous
    #   VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] percent_progress
    #   The progress of the current operation on the Autonomous VM cluster,
    #   as a percentage.
    #   @return [Float]
    #
    # @!attribute [rw] display_name
    #   The user-friendly name for the Autonomous VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] status
    #   The current status of the Autonomous VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] status_reason
    #   Additional information about the current status of the Autonomous VM
    #   cluster, if applicable.
    #   @return [String]
    #
    # @!attribute [rw] cloud_exadata_infrastructure_id
    #   The unique identifier of the Exadata infrastructure containing this
    #   Autonomous VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] autonomous_data_storage_percentage
    #   The percentage of data storage currently in use for Autonomous
    #   Databases in the Autonomous VM cluster.
    #   @return [Float]
    #
    # @!attribute [rw] autonomous_data_storage_size_in_t_bs
    #   The total data storage allocated for Autonomous Databases in the
    #   Autonomous VM cluster, in TB.
    #   @return [Float]
    #
    # @!attribute [rw] available_autonomous_data_storage_size_in_t_bs
    #   The available data storage for Autonomous Databases in the
    #   Autonomous VM cluster, in TB.
    #   @return [Float]
    #
    # @!attribute [rw] available_container_databases
    #   The number of Autonomous Container Databases that you can create
    #   with the currently available storage.
    #   @return [Integer]
    #
    # @!attribute [rw] available_cpus
    #   The number of CPU cores available for allocation to Autonomous
    #   Databases.
    #   @return [Float]
    #
    # @!attribute [rw] compute_model
    #   The compute model of the Autonomous VM cluster: ECPU or OCPU.
    #   @return [String]
    #
    # @!attribute [rw] cpu_core_count
    #   The total number of CPU cores in the Autonomous VM cluster.
    #   @return [Integer]
    #
    # @!attribute [rw] cpu_core_count_per_node
    #   The number of CPU cores per node in the Autonomous VM cluster.
    #   @return [Integer]
    #
    # @!attribute [rw] cpu_percentage
    #   The percentage of total CPU cores currently in use in the Autonomous
    #   VM cluster.
    #   @return [Float]
    #
    # @!attribute [rw] data_storage_size_in_g_bs
    #   The total data storage allocated to the Autonomous VM cluster, in
    #   GB.
    #   @return [Float]
    #
    # @!attribute [rw] data_storage_size_in_t_bs
    #   The total data storage allocated to the Autonomous VM cluster, in
    #   TB.
    #   @return [Float]
    #
    # @!attribute [rw] db_node_storage_size_in_g_bs
    #   The local node storage allocated to the Autonomous VM cluster, in
    #   GB.
    #   @return [Integer]
    #
    # @!attribute [rw] db_servers
    #   The list of database servers associated with the Autonomous VM
    #   cluster.
    #   @return [Array<String>]
    #
    # @!attribute [rw] description
    #   The user-provided description of the Autonomous VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] domain
    #   The domain name for the Autonomous VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] exadata_storage_in_t_bs_lowest_scaled_value
    #   The lowest value to which Exadata storage can be scaled down, in TB.
    #   @return [Float]
    #
    # @!attribute [rw] hostname
    #   The host name for the Autonomous VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] ocid
    #   The Oracle Cloud Identifier (OCID) of the Autonomous VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] oci_url
    #   The URL for accessing the OCI console page for this Autonomous VM
    #   cluster.
    #   @return [String]
    #
    # @!attribute [rw] is_mtls_enabled_vm_cluster
    #   Indicates if mutual TLS (mTLS) authentication is enabled for the
    #   Autonomous VM cluster.
    #   @return [Boolean]
    #
    # @!attribute [rw] license_model
    #   The Oracle license model that applies to the Autonomous VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] maintenance_window
    #   The scheduling details for the maintenance window. Patching and
    #   system updates take place during the maintenance window.
    #   @return [Types::MaintenanceWindow]
    #
    # @!attribute [rw] max_acds_lowest_scaled_value
    #   The lowest value to which you can scale down the maximum number of
    #   Autonomous CDBs.
    #   @return [Integer]
    #
    # @!attribute [rw] memory_per_oracle_compute_unit_in_g_bs
    #   The amount of memory allocated per Oracle Compute Unit (OCU), in GB.
    #   @return [Integer]
    #
    # @!attribute [rw] memory_size_in_g_bs
    #   The total amount of memory allocated to the Autonomous VM cluster,
    #   in GB.
    #   @return [Integer]
    #
    # @!attribute [rw] node_count
    #   The number of database server nodes in the Autonomous VM cluster.
    #   @return [Integer]
    #
    # @!attribute [rw] non_provisionable_autonomous_container_databases
    #   The number of Autonomous CDBs that can't be provisioned because of
    #   resource constraints.
    #   @return [Integer]
    #
    # @!attribute [rw] provisionable_autonomous_container_databases
    #   The number of Autonomous CDBs that you can provision in the
    #   Autonomous VM cluster.
    #   @return [Integer]
    #
    # @!attribute [rw] provisioned_autonomous_container_databases
    #   The number of Autonomous Container Databases currently provisioned
    #   in the Autonomous VM cluster.
    #   @return [Integer]
    #
    # @!attribute [rw] provisioned_cpus
    #   The number of CPUs currently provisioned in the Autonomous VM
    #   cluster.
    #   @return [Float]
    #
    # @!attribute [rw] reclaimable_cpus
    #   The number of CPUs that can be reclaimed from terminated or
    #   scaled-down Autonomous Databases.
    #   @return [Float]
    #
    # @!attribute [rw] reserved_cpus
    #   The number of CPUs reserved for system operations and redundancy.
    #   @return [Float]
    #
    # @!attribute [rw] scan_listener_port_non_tls
    #   The SCAN listener port for non-TLS (TCP) protocol.
    #   @return [Integer]
    #
    # @!attribute [rw] scan_listener_port_tls
    #   The SCAN listener port for TLS (TCP) protocol.
    #   @return [Integer]
    #
    # @!attribute [rw] shape
    #   The shape of the Exadata infrastructure for the Autonomous VM
    #   cluster.
    #   @return [String]
    #
    # @!attribute [rw] created_at
    #   The date and time when the Autonomous VM cluster was created.
    #   @return [Time]
    #
    # @!attribute [rw] time_database_ssl_certificate_expires
    #   The expiration date and time of the database SSL certificate.
    #   @return [Time]
    #
    # @!attribute [rw] time_ords_certificate_expires
    #   The expiration date and time of the Oracle REST Data Services (ORDS)
    #   certificate.
    #   @return [Time]
    #
    # @!attribute [rw] time_zone
    #   The time zone of the Autonomous VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] total_container_databases
    #   The total number of Autonomous Container Databases that can be
    #   created in the Autonomous VM cluster.
    #   @return [Integer]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/CloudAutonomousVmClusterSummary AWS API Documentation
    #
    class CloudAutonomousVmClusterSummary < Struct.new(
      :cloud_autonomous_vm_cluster_id,
      :cloud_autonomous_vm_cluster_arn,
      :odb_network_id,
      :oci_resource_anchor_name,
      :percent_progress,
      :display_name,
      :status,
      :status_reason,
      :cloud_exadata_infrastructure_id,
      :autonomous_data_storage_percentage,
      :autonomous_data_storage_size_in_t_bs,
      :available_autonomous_data_storage_size_in_t_bs,
      :available_container_databases,
      :available_cpus,
      :compute_model,
      :cpu_core_count,
      :cpu_core_count_per_node,
      :cpu_percentage,
      :data_storage_size_in_g_bs,
      :data_storage_size_in_t_bs,
      :db_node_storage_size_in_g_bs,
      :db_servers,
      :description,
      :domain,
      :exadata_storage_in_t_bs_lowest_scaled_value,
      :hostname,
      :ocid,
      :oci_url,
      :is_mtls_enabled_vm_cluster,
      :license_model,
      :maintenance_window,
      :max_acds_lowest_scaled_value,
      :memory_per_oracle_compute_unit_in_g_bs,
      :memory_size_in_g_bs,
      :node_count,
      :non_provisionable_autonomous_container_databases,
      :provisionable_autonomous_container_databases,
      :provisioned_autonomous_container_databases,
      :provisioned_cpus,
      :reclaimable_cpus,
      :reserved_cpus,
      :scan_listener_port_non_tls,
      :scan_listener_port_tls,
      :shape,
      :created_at,
      :time_database_ssl_certificate_expires,
      :time_ords_certificate_expires,
      :time_zone,
      :total_container_databases)
      SENSITIVE = []
      include Aws::Structure
    end

    # Information about an Exadata infrastructure.
    #
    # @!attribute [rw] cloud_exadata_infrastructure_id
    #   The unique identifier for the Exadata infrastructure.
    #   @return [String]
    #
    # @!attribute [rw] display_name
    #   The user-friendly name for the Exadata infrastructure.
    #   @return [String]
    #
    # @!attribute [rw] status
    #   The current status of the Exadata infrastructure.
    #   @return [String]
    #
    # @!attribute [rw] status_reason
    #   Additional information about the status of the Exadata
    #   infrastructure.
    #   @return [String]
    #
    # @!attribute [rw] cloud_exadata_infrastructure_arn
    #   The Amazon Resource Name (ARN) for the Exadata infrastructure.
    #   @return [String]
    #
    # @!attribute [rw] activated_storage_count
    #   The number of storage servers requested for the Exadata
    #   infrastructure.
    #   @return [Integer]
    #
    # @!attribute [rw] additional_storage_count
    #   The number of storage servers requested for the Exadata
    #   infrastructure.
    #   @return [Integer]
    #
    # @!attribute [rw] available_storage_size_in_g_bs
    #   The amount of available storage, in gigabytes (GB), for the Exadata
    #   infrastructure.
    #   @return [Integer]
    #
    # @!attribute [rw] availability_zone
    #   The name of the Availability Zone (AZ) where the Exadata
    #   infrastructure is located.
    #   @return [String]
    #
    # @!attribute [rw] availability_zone_id
    #   The AZ ID of the AZ where the Exadata infrastructure is located.
    #   @return [String]
    #
    # @!attribute [rw] compute_count
    #   The number of database servers for the Exadata infrastructure.
    #   @return [Integer]
    #
    # @!attribute [rw] cpu_count
    #   The total number of CPU cores that are allocated to the Exadata
    #   infrastructure.
    #   @return [Integer]
    #
    # @!attribute [rw] customer_contacts_to_send_to_oci
    #   The email addresses of contacts to receive notification from Oracle
    #   about maintenance updates for the Exadata infrastructure.
    #   @return [Array<Types::CustomerContact>]
    #
    # @!attribute [rw] data_storage_size_in_t_bs
    #   The size of the Exadata infrastructure's data disk group, in
    #   terabytes (TB).
    #   @return [Float]
    #
    # @!attribute [rw] db_node_storage_size_in_g_bs
    #   The size of the Exadata infrastructure's local node storage, in
    #   gigabytes (GB).
    #   @return [Integer]
    #
    # @!attribute [rw] db_server_version
    #   The software version of the database servers (dom0) in the Exadata
    #   infrastructure.
    #   @return [String]
    #
    # @!attribute [rw] last_maintenance_run_id
    #   The Oracle Cloud Identifier (OCID) of the last maintenance run for
    #   the Exadata infrastructure.
    #   @return [String]
    #
    # @!attribute [rw] maintenance_window
    #   The scheduling details for the maintenance window. Patching and
    #   system updates take place during the maintenance window.
    #   @return [Types::MaintenanceWindow]
    #
    # @!attribute [rw] max_cpu_count
    #   The total number of CPU cores available on the Exadata
    #   infrastructure.
    #   @return [Integer]
    #
    # @!attribute [rw] max_data_storage_in_t_bs
    #   The total amount of data disk group storage, in terabytes (TB),
    #   that's available on the Exadata infrastructure.
    #   @return [Float]
    #
    # @!attribute [rw] max_db_node_storage_size_in_g_bs
    #   The total amount of local node storage, in gigabytes (GB), that's
    #   available on the Exadata infrastructure.
    #   @return [Integer]
    #
    # @!attribute [rw] max_memory_in_g_bs
    #   The total amount of memory, in gigabytes (GB), that's available on
    #   the Exadata infrastructure.
    #   @return [Integer]
    #
    # @!attribute [rw] memory_size_in_g_bs
    #   The amount of memory, in gigabytes (GB), that's allocated on the
    #   Exadata infrastructure.
    #   @return [Integer]
    #
    # @!attribute [rw] monthly_db_server_version
    #   The monthly software version of the database servers installed on
    #   the Exadata infrastructure.
    #   @return [String]
    #
    # @!attribute [rw] monthly_storage_server_version
    #   The monthly software version of the storage servers installed on the
    #   Exadata infrastructure.
    #   @return [String]
    #
    # @!attribute [rw] next_maintenance_run_id
    #   The OCID of the next maintenance run for the Exadata infrastructure.
    #   @return [String]
    #
    # @!attribute [rw] oci_resource_anchor_name
    #   The name of the OCI resource anchor for the Exadata infrastructure.
    #   @return [String]
    #
    # @!attribute [rw] oci_url
    #   The HTTPS link to the Exadata infrastructure in OCI.
    #   @return [String]
    #
    # @!attribute [rw] ocid
    #   The OCID of the Exadata infrastructure.
    #   @return [String]
    #
    # @!attribute [rw] shape
    #   The model name of the Exadata infrastructure.
    #   @return [String]
    #
    # @!attribute [rw] storage_count
    #   The number of storage servers that are activated for the Exadata
    #   infrastructure.
    #   @return [Integer]
    #
    # @!attribute [rw] storage_server_version
    #   The software version of the storage servers on the Exadata
    #   infrastructure.
    #   @return [String]
    #
    # @!attribute [rw] created_at
    #   The date and time when the Exadata infrastructure was created.
    #   @return [Time]
    #
    # @!attribute [rw] total_storage_size_in_g_bs
    #   The total amount of storage, in gigabytes (GB), on the the Exadata
    #   infrastructure.
    #   @return [Integer]
    #
    # @!attribute [rw] percent_progress
    #   The amount of progress made on the current operation on the Exadata
    #   infrastructure, expressed as a percentage.
    #   @return [Float]
    #
    # @!attribute [rw] database_server_type
    #   The database server model type of the Exadata infrastructure. For
    #   the list of valid model names, use the `ListDbSystemShapes`
    #   operation.
    #   @return [String]
    #
    # @!attribute [rw] storage_server_type
    #   The storage server model type of the Exadata infrastructure. For the
    #   list of valid model names, use the `ListDbSystemShapes` operation.
    #   @return [String]
    #
    # @!attribute [rw] compute_model
    #   The OCI model compute model used when you create or clone an
    #   instance: ECPU or OCPU. An ECPU is an abstracted measure of compute
    #   resources. ECPUs are based on the number of cores elastically
    #   allocated from a pool of compute and storage servers. An OCPU is a
    #   legacy physical measure of compute resources. OCPUs are based on the
    #   physical core of a processor with hyper-threading enabled.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/CloudExadataInfrastructure AWS API Documentation
    #
    class CloudExadataInfrastructure < Struct.new(
      :cloud_exadata_infrastructure_id,
      :display_name,
      :status,
      :status_reason,
      :cloud_exadata_infrastructure_arn,
      :activated_storage_count,
      :additional_storage_count,
      :available_storage_size_in_g_bs,
      :availability_zone,
      :availability_zone_id,
      :compute_count,
      :cpu_count,
      :customer_contacts_to_send_to_oci,
      :data_storage_size_in_t_bs,
      :db_node_storage_size_in_g_bs,
      :db_server_version,
      :last_maintenance_run_id,
      :maintenance_window,
      :max_cpu_count,
      :max_data_storage_in_t_bs,
      :max_db_node_storage_size_in_g_bs,
      :max_memory_in_g_bs,
      :memory_size_in_g_bs,
      :monthly_db_server_version,
      :monthly_storage_server_version,
      :next_maintenance_run_id,
      :oci_resource_anchor_name,
      :oci_url,
      :ocid,
      :shape,
      :storage_count,
      :storage_server_version,
      :created_at,
      :total_storage_size_in_g_bs,
      :percent_progress,
      :database_server_type,
      :storage_server_type,
      :compute_model)
      SENSITIVE = []
      include Aws::Structure
    end

    # Information about an Exadata infrastructure.
    #
    # @!attribute [rw] cloud_exadata_infrastructure_id
    #   The unique identifier for the Exadata infrastructure.
    #   @return [String]
    #
    # @!attribute [rw] display_name
    #   The user-friendly name for the Exadata infrastructure.
    #   @return [String]
    #
    # @!attribute [rw] status
    #   The current status of the Exadata infrastructure.
    #   @return [String]
    #
    # @!attribute [rw] status_reason
    #   Additional information about the status of the Exadata
    #   infrastructure.
    #   @return [String]
    #
    # @!attribute [rw] cloud_exadata_infrastructure_arn
    #   The Amazon Resource Name (ARN) for the Exadata infrastructure.
    #   @return [String]
    #
    # @!attribute [rw] activated_storage_count
    #   The number of storage servers requested for the Exadata
    #   infrastructure.
    #   @return [Integer]
    #
    # @!attribute [rw] additional_storage_count
    #   The number of storage servers requested for the Exadata
    #   infrastructure.
    #   @return [Integer]
    #
    # @!attribute [rw] available_storage_size_in_g_bs
    #   The amount of available storage, in gigabytes (GB), for the Exadata
    #   infrastructure.
    #   @return [Integer]
    #
    # @!attribute [rw] availability_zone
    #   The name of the Availability Zone (AZ) where the Exadata
    #   infrastructure is located.
    #   @return [String]
    #
    # @!attribute [rw] availability_zone_id
    #   The AZ ID of the AZ where the Exadata infrastructure is located.
    #   @return [String]
    #
    # @!attribute [rw] compute_count
    #   The number of database servers for the Exadata infrastructure.
    #   @return [Integer]
    #
    # @!attribute [rw] cpu_count
    #   The total number of CPU cores that are allocated to the Exadata
    #   infrastructure.
    #   @return [Integer]
    #
    # @!attribute [rw] customer_contacts_to_send_to_oci
    #   The email addresses of contacts to receive notification from Oracle
    #   about maintenance updates for the Exadata infrastructure.
    #   @return [Array<Types::CustomerContact>]
    #
    # @!attribute [rw] data_storage_size_in_t_bs
    #   The size of the Exadata infrastructure's data disk group, in
    #   terabytes (TB).
    #   @return [Float]
    #
    # @!attribute [rw] db_node_storage_size_in_g_bs
    #   The size of the Exadata infrastructure's local node storage, in
    #   gigabytes (GB).
    #   @return [Integer]
    #
    # @!attribute [rw] db_server_version
    #   The software version of the database servers on the Exadata
    #   infrastructure.
    #   @return [String]
    #
    # @!attribute [rw] last_maintenance_run_id
    #   The Oracle Cloud Identifier (OCID) of the last maintenance run for
    #   the Exadata infrastructure.
    #   @return [String]
    #
    # @!attribute [rw] maintenance_window
    #   The scheduling details for the maintenance window. Patching and
    #   system updates take place during the maintenance window.
    #   @return [Types::MaintenanceWindow]
    #
    # @!attribute [rw] max_cpu_count
    #   The total number of CPU cores available on the Exadata
    #   infrastructure.
    #   @return [Integer]
    #
    # @!attribute [rw] max_data_storage_in_t_bs
    #   The total amount of data disk group storage, in terabytes (TB),
    #   that's available on the Exadata infrastructure.
    #   @return [Float]
    #
    # @!attribute [rw] max_db_node_storage_size_in_g_bs
    #   The total amount of local node storage, in gigabytes (GB), that's
    #   available on the Exadata infrastructure.
    #   @return [Integer]
    #
    # @!attribute [rw] max_memory_in_g_bs
    #   The total amount of memory, in gigabytes (GB), that's available on
    #   the Exadata infrastructure.
    #   @return [Integer]
    #
    # @!attribute [rw] memory_size_in_g_bs
    #   The amount of memory, in gigabytes (GB), that's allocated on the
    #   Exadata infrastructure.
    #   @return [Integer]
    #
    # @!attribute [rw] monthly_db_server_version
    #   The monthly software version of the database servers (dom0)
    #   installed on the Exadata infrastructure.
    #   @return [String]
    #
    # @!attribute [rw] monthly_storage_server_version
    #   The monthly software version of the storage servers installed on the
    #   Exadata infrastructure.
    #   @return [String]
    #
    # @!attribute [rw] next_maintenance_run_id
    #   The OCID of the next maintenance run for the Exadata infrastructure.
    #   @return [String]
    #
    # @!attribute [rw] oci_resource_anchor_name
    #   The name of the OCI resource anchor for the Exadata infrastructure.
    #   @return [String]
    #
    # @!attribute [rw] oci_url
    #   The HTTPS link to the Exadata infrastructure in OCI.
    #   @return [String]
    #
    # @!attribute [rw] ocid
    #   The OCID of the Exadata infrastructure.
    #   @return [String]
    #
    # @!attribute [rw] shape
    #   The model name of the Exadata infrastructure.
    #   @return [String]
    #
    # @!attribute [rw] storage_count
    #   The number of storage servers that are activated for the Exadata
    #   infrastructure.
    #   @return [Integer]
    #
    # @!attribute [rw] storage_server_version
    #   The software version of the storage servers on the Exadata
    #   infrastructure.
    #   @return [String]
    #
    # @!attribute [rw] created_at
    #   The date and time when the Exadata infrastructure was created.
    #   @return [Time]
    #
    # @!attribute [rw] total_storage_size_in_g_bs
    #   The total amount of storage, in gigabytes (GB), on the the Exadata
    #   infrastructure.
    #   @return [Integer]
    #
    # @!attribute [rw] percent_progress
    #   The amount of progress made on the current operation on the Exadata
    #   infrastructure, expressed as a percentage.
    #   @return [Float]
    #
    # @!attribute [rw] database_server_type
    #   The database server model type of the Exadata infrastructure. For
    #   the list of valid model names, use the `ListDbSystemShapes`
    #   operation.
    #   @return [String]
    #
    # @!attribute [rw] storage_server_type
    #   The storage server model type of the Exadata infrastructure. For the
    #   list of valid model names, use the `ListDbSystemShapes` operation.
    #   @return [String]
    #
    # @!attribute [rw] compute_model
    #   The OCI model compute model used when you create or clone an
    #   instance: ECPU or OCPU. An ECPU is an abstracted measure of compute
    #   resources. ECPUs are based on the number of cores elastically
    #   allocated from a pool of compute and storage servers. An OCPU is a
    #   legacy physical measure of compute resources. OCPUs are based on the
    #   physical core of a processor with hyper-threading enabled.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/CloudExadataInfrastructureSummary AWS API Documentation
    #
    class CloudExadataInfrastructureSummary < Struct.new(
      :cloud_exadata_infrastructure_id,
      :display_name,
      :status,
      :status_reason,
      :cloud_exadata_infrastructure_arn,
      :activated_storage_count,
      :additional_storage_count,
      :available_storage_size_in_g_bs,
      :availability_zone,
      :availability_zone_id,
      :compute_count,
      :cpu_count,
      :customer_contacts_to_send_to_oci,
      :data_storage_size_in_t_bs,
      :db_node_storage_size_in_g_bs,
      :db_server_version,
      :last_maintenance_run_id,
      :maintenance_window,
      :max_cpu_count,
      :max_data_storage_in_t_bs,
      :max_db_node_storage_size_in_g_bs,
      :max_memory_in_g_bs,
      :memory_size_in_g_bs,
      :monthly_db_server_version,
      :monthly_storage_server_version,
      :next_maintenance_run_id,
      :oci_resource_anchor_name,
      :oci_url,
      :ocid,
      :shape,
      :storage_count,
      :storage_server_version,
      :created_at,
      :total_storage_size_in_g_bs,
      :percent_progress,
      :database_server_type,
      :storage_server_type,
      :compute_model)
      SENSITIVE = []
      include Aws::Structure
    end

    # Information about unallocated resources in the Cloud Exadata
    # infrastructure.
    #
    # @!attribute [rw] cloud_autonomous_vm_clusters
    #   A list of Autonomous VM clusters associated with this Cloud Exadata
    #   Infrastructure.
    #   @return [Array<Types::CloudAutonomousVmClusterResourceDetails>]
    #
    # @!attribute [rw] cloud_exadata_infrastructure_display_name
    #   The display name of the Cloud Exadata infrastructure.
    #   @return [String]
    #
    # @!attribute [rw] exadata_storage_in_t_bs
    #   The amount of unallocated Exadata storage available, in terabytes
    #   (TB).
    #   @return [Float]
    #
    # @!attribute [rw] cloud_exadata_infrastructure_id
    #   The unique identifier of the Cloud Exadata infrastructure.
    #   @return [String]
    #
    # @!attribute [rw] local_storage_in_g_bs
    #   The amount of unallocated local storage available, in gigabytes
    #   (GB).
    #   @return [Integer]
    #
    # @!attribute [rw] memory_in_g_bs
    #   The amount of unallocated memory available, in gigabytes (GB).
    #   @return [Integer]
    #
    # @!attribute [rw] ocpus
    #   The number of unallocated Oracle CPU Units (OCPUs) available.
    #   @return [Integer]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/CloudExadataInfrastructureUnallocatedResources AWS API Documentation
    #
    class CloudExadataInfrastructureUnallocatedResources < Struct.new(
      :cloud_autonomous_vm_clusters,
      :cloud_exadata_infrastructure_display_name,
      :exadata_storage_in_t_bs,
      :cloud_exadata_infrastructure_id,
      :local_storage_in_g_bs,
      :memory_in_g_bs,
      :ocpus)
      SENSITIVE = []
      include Aws::Structure
    end

    # Information about a VM cluster.
    #
    # @!attribute [rw] cloud_vm_cluster_id
    #   The unique identifier of the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] display_name
    #   The user-friendly name for the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] status
    #   The current status of the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] status_reason
    #   Additional information about the status of the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] cloud_vm_cluster_arn
    #   The Amazon Resource Name (ARN) of the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] cloud_exadata_infrastructure_id
    #   The unique identifier of the Exadata infrastructure that this VM
    #   cluster belongs to.
    #   @return [String]
    #
    # @!attribute [rw] cluster_name
    #   The name of the Grid Infrastructure (GI) cluster.
    #   @return [String]
    #
    # @!attribute [rw] cpu_core_count
    #   The number of CPU cores enabled on the VM cluster.
    #   @return [Integer]
    #
    # @!attribute [rw] data_collection_options
    #   The set of diagnostic collection options enabled for the VM cluster.
    #   @return [Types::DataCollectionOptions]
    #
    # @!attribute [rw] data_storage_size_in_t_bs
    #   The size of the data disk group, in terabytes (TB), that's
    #   allocated for the VM cluster.
    #   @return [Float]
    #
    # @!attribute [rw] db_node_storage_size_in_g_bs
    #   The amount of local node storage, in gigabytes (GB), that's
    #   allocated for the VM cluster.
    #   @return [Integer]
    #
    # @!attribute [rw] db_servers
    #   The list of database servers for the VM cluster.
    #   @return [Array<String>]
    #
    # @!attribute [rw] disk_redundancy
    #   The type of redundancy configured for the VM cluster. `NORMAL` is
    #   2-way redundancy. `HIGH` is 3-way redundancy.
    #   @return [String]
    #
    # @!attribute [rw] gi_version
    #   The software version of the Oracle Grid Infrastructure (GI) for the
    #   VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] hostname
    #   The host name for the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] iorm_config_cache
    #   The ExadataIormConfig cache details for the VM cluster.
    #   @return [Types::ExadataIormConfig]
    #
    # @!attribute [rw] is_local_backup_enabled
    #   Indicates whether database backups to local Exadata storage is
    #   enabled for the VM cluster.
    #   @return [Boolean]
    #
    # @!attribute [rw] is_sparse_diskgroup_enabled
    #   Indicates whether the VM cluster is configured with a sparse disk
    #   group.
    #   @return [Boolean]
    #
    # @!attribute [rw] last_update_history_entry_id
    #   The Oracle Cloud ID (OCID) of the last maintenance update history
    #   entry.
    #   @return [String]
    #
    # @!attribute [rw] license_model
    #   The Oracle license model applied to the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] listener_port
    #   The port number configured for the listener on the VM cluster.
    #   @return [Integer]
    #
    # @!attribute [rw] memory_size_in_g_bs
    #   The amount of memory, in gigabytes (GB), that's allocated for the
    #   VM cluster.
    #   @return [Integer]
    #
    # @!attribute [rw] node_count
    #   The number of nodes in the VM cluster.
    #   @return [Integer]
    #
    # @!attribute [rw] ocid
    #   The OCID of the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] oci_resource_anchor_name
    #   The name of the OCI resource anchor for the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] oci_url
    #   The HTTPS link to the VM cluster in OCI.
    #   @return [String]
    #
    # @!attribute [rw] domain
    #   The domain of the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] scan_dns_name
    #   The FQDN of the DNS record for the Single Client Access Name (SCAN)
    #   IP addresses that are associated with the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] scan_dns_record_id
    #   The OCID of the DNS record for the SCAN IP addresses that are
    #   associated with the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] scan_ip_ids
    #   The OCID of the SCAN IP addresses that are associated with the VM
    #   cluster.
    #   @return [Array<String>]
    #
    # @!attribute [rw] shape
    #   The hardware model name of the Exadata infrastructure that's
    #   running the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] ssh_public_keys
    #   The public key portion of one or more key pairs used for SSH access
    #   to the VM cluster.
    #   @return [Array<String>]
    #
    # @!attribute [rw] storage_size_in_g_bs
    #   The amount of local node storage, in gigabytes (GB), that's
    #   allocated to the VM cluster.
    #   @return [Integer]
    #
    # @!attribute [rw] system_version
    #   The operating system version of the image chosen for the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] created_at
    #   The date and time when the VM cluster was created.
    #   @return [Time]
    #
    # @!attribute [rw] time_zone
    #   The time zone of the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] vip_ids
    #   The virtual IP (VIP) addresses that are associated with the VM
    #   cluster. Oracle's Cluster Ready Services (CRS) creates and
    #   maintains one VIP address for each node in the VM cluster to enable
    #   failover. If one node fails, the VIP is reassigned to another active
    #   node in the cluster.
    #   @return [Array<String>]
    #
    # @!attribute [rw] odb_network_id
    #   The unique identifier of the ODB network for the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] percent_progress
    #   The amount of progress made on the current operation on the VM
    #   cluster, expressed as a percentage.
    #   @return [Float]
    #
    # @!attribute [rw] compute_model
    #   The OCI model compute model used when you create or clone an
    #   instance: ECPU or OCPU. An ECPU is an abstracted measure of compute
    #   resources. ECPUs are based on the number of cores elastically
    #   allocated from a pool of compute and storage servers. An OCPU is a
    #   legacy physical measure of compute resources. OCPUs are based on the
    #   physical core of a processor with hyper-threading enabled.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/CloudVmCluster AWS API Documentation
    #
    class CloudVmCluster < Struct.new(
      :cloud_vm_cluster_id,
      :display_name,
      :status,
      :status_reason,
      :cloud_vm_cluster_arn,
      :cloud_exadata_infrastructure_id,
      :cluster_name,
      :cpu_core_count,
      :data_collection_options,
      :data_storage_size_in_t_bs,
      :db_node_storage_size_in_g_bs,
      :db_servers,
      :disk_redundancy,
      :gi_version,
      :hostname,
      :iorm_config_cache,
      :is_local_backup_enabled,
      :is_sparse_diskgroup_enabled,
      :last_update_history_entry_id,
      :license_model,
      :listener_port,
      :memory_size_in_g_bs,
      :node_count,
      :ocid,
      :oci_resource_anchor_name,
      :oci_url,
      :domain,
      :scan_dns_name,
      :scan_dns_record_id,
      :scan_ip_ids,
      :shape,
      :ssh_public_keys,
      :storage_size_in_g_bs,
      :system_version,
      :created_at,
      :time_zone,
      :vip_ids,
      :odb_network_id,
      :percent_progress,
      :compute_model)
      SENSITIVE = [:ssh_public_keys]
      include Aws::Structure
    end

    # Information about a VM cluster.
    #
    # @!attribute [rw] cloud_vm_cluster_id
    #   The unique identifier of the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] display_name
    #   The user-friendly name for the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] status
    #   The current status of the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] status_reason
    #   Additional information about the status of the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] cloud_vm_cluster_arn
    #   The Amazon Resource Name (ARN) of the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] cloud_exadata_infrastructure_id
    #   The unique identifier of the Exadata infrastructure that this VM
    #   cluster belongs to.
    #   @return [String]
    #
    # @!attribute [rw] cluster_name
    #   The name of the Grid Infrastructure (GI) cluster.
    #   @return [String]
    #
    # @!attribute [rw] cpu_core_count
    #   The number of CPU cores enabled on the VM cluster.
    #   @return [Integer]
    #
    # @!attribute [rw] data_collection_options
    #   Information about the data collection options enabled for a VM
    #   cluster.
    #   @return [Types::DataCollectionOptions]
    #
    # @!attribute [rw] data_storage_size_in_t_bs
    #   The size of the data disk group, in terabytes (TB), that's
    #   allocated for the VM cluster.
    #   @return [Float]
    #
    # @!attribute [rw] db_node_storage_size_in_g_bs
    #   The amount of local node storage, in gigabytes (GB), that's
    #   allocated for the VM cluster.
    #   @return [Integer]
    #
    # @!attribute [rw] db_servers
    #   The list of database servers for the VM cluster.
    #   @return [Array<String>]
    #
    # @!attribute [rw] disk_redundancy
    #   The type of redundancy configured for the VM cluster. `NORMAL` is
    #   2-way redundancy. `HIGH` is 3-way redundancy.
    #   @return [String]
    #
    # @!attribute [rw] gi_version
    #   The software version of the Oracle Grid Infrastructure (GI) for the
    #   VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] hostname
    #   The host name for the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] iorm_config_cache
    #   The IORM settings of the Exadata DB system.
    #   @return [Types::ExadataIormConfig]
    #
    # @!attribute [rw] is_local_backup_enabled
    #   Indicates whether database backups to local Exadata storage is
    #   enabled for the VM cluster.
    #   @return [Boolean]
    #
    # @!attribute [rw] is_sparse_diskgroup_enabled
    #   Indicates whether the VM cluster is configured with a sparse disk
    #   group.
    #   @return [Boolean]
    #
    # @!attribute [rw] last_update_history_entry_id
    #   The Oracle Cloud ID (OCID) of the last maintenance update history
    #   entry.
    #   @return [String]
    #
    # @!attribute [rw] license_model
    #   The Oracle license model applied to the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] listener_port
    #   The port number configured for the listener on the VM cluster.
    #   @return [Integer]
    #
    # @!attribute [rw] memory_size_in_g_bs
    #   The amount of memory, in gigabytes (GB), that's allocated for the
    #   VM cluster.
    #   @return [Integer]
    #
    # @!attribute [rw] node_count
    #   The number of nodes in the VM cluster.
    #   @return [Integer]
    #
    # @!attribute [rw] ocid
    #   The OCID of the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] oci_resource_anchor_name
    #   The name of the OCI resource anchor for the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] oci_url
    #   The HTTPS link to the VM cluster in OCI.
    #   @return [String]
    #
    # @!attribute [rw] domain
    #   The domain of the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] scan_dns_name
    #   The FQDN of the DNS record for the Single Client Access Name (SCAN)
    #   IP addresses that are associated with the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] scan_dns_record_id
    #   The OCID of the DNS record for the SCAN IP addresses that are
    #   associated with the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] scan_ip_ids
    #   The OCID of the SCAN IP addresses that are associated with the VM
    #   cluster.
    #   @return [Array<String>]
    #
    # @!attribute [rw] shape
    #   The hardware model name of the Exadata infrastructure that's
    #   running the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] ssh_public_keys
    #   The public key portion of one or more key pairs used for SSH access
    #   to the VM cluster.
    #   @return [Array<String>]
    #
    # @!attribute [rw] storage_size_in_g_bs
    #   The amount of local node storage, in gigabytes (GB), that's
    #   allocated to the VM cluster.
    #   @return [Integer]
    #
    # @!attribute [rw] system_version
    #   The operating system version of the image chosen for the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] created_at
    #   The date and time when the VM cluster was created.
    #   @return [Time]
    #
    # @!attribute [rw] time_zone
    #   The time zone of the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] vip_ids
    #   The virtual IP (VIP) addresses that are associated with the VM
    #   cluster. Oracle's Cluster Ready Services (CRS) creates and
    #   maintains one VIP address for each node in the VM cluster to enable
    #   failover. If one node fails, the VIP is reassigned to another active
    #   node in the cluster.
    #   @return [Array<String>]
    #
    # @!attribute [rw] odb_network_id
    #   The unique identifier of the ODB network for the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] percent_progress
    #   The amount of progress made on the current operation on the VM
    #   cluster, expressed as a percentage.
    #   @return [Float]
    #
    # @!attribute [rw] compute_model
    #   The OCI model compute model used when you create or clone an
    #   instance: ECPU or OCPU. An ECPU is an abstracted measure of compute
    #   resources. ECPUs are based on the number of cores elastically
    #   allocated from a pool of compute and storage servers. An OCPU is a
    #   legacy physical measure of compute resources. OCPUs are based on the
    #   physical core of a processor with hyper-threading enabled.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/CloudVmClusterSummary AWS API Documentation
    #
    class CloudVmClusterSummary < Struct.new(
      :cloud_vm_cluster_id,
      :display_name,
      :status,
      :status_reason,
      :cloud_vm_cluster_arn,
      :cloud_exadata_infrastructure_id,
      :cluster_name,
      :cpu_core_count,
      :data_collection_options,
      :data_storage_size_in_t_bs,
      :db_node_storage_size_in_g_bs,
      :db_servers,
      :disk_redundancy,
      :gi_version,
      :hostname,
      :iorm_config_cache,
      :is_local_backup_enabled,
      :is_sparse_diskgroup_enabled,
      :last_update_history_entry_id,
      :license_model,
      :listener_port,
      :memory_size_in_g_bs,
      :node_count,
      :ocid,
      :oci_resource_anchor_name,
      :oci_url,
      :domain,
      :scan_dns_name,
      :scan_dns_record_id,
      :scan_ip_ids,
      :shape,
      :ssh_public_keys,
      :storage_size_in_g_bs,
      :system_version,
      :created_at,
      :time_zone,
      :vip_ids,
      :odb_network_id,
      :percent_progress,
      :compute_model)
      SENSITIVE = [:ssh_public_keys]
      include Aws::Structure
    end

    # Occurs when a conflict with the current status of your resource. Fix
    # any inconsistencies with your resource and try again.
    #
    # @!attribute [rw] message
    #   @return [String]
    #
    # @!attribute [rw] resource_id
    #   The identifier of the resource that caused the conflict.
    #   @return [String]
    #
    # @!attribute [rw] resource_type
    #   The type of resource that caused the conflict.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/ConflictException AWS API Documentation
    #
    class ConflictException < Struct.new(
      :message,
      :resource_id,
      :resource_type)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] cloud_exadata_infrastructure_id
    #   The unique identifier of the Exadata infrastructure where the VM
    #   cluster will be created.
    #   @return [String]
    #
    # @!attribute [rw] odb_network_id
    #   The unique identifier of the ODB network to be used for the VM
    #   cluster.
    #   @return [String]
    #
    # @!attribute [rw] display_name
    #   The display name for the Autonomous VM cluster. The name does not
    #   need to be unique.
    #   @return [String]
    #
    # @!attribute [rw] client_token
    #   A client-provided token to ensure idempotency of the request.
    #
    #   **A suitable default value is auto-generated.** You should normally
    #   not need to pass this option.
    #   @return [String]
    #
    # @!attribute [rw] autonomous_data_storage_size_in_t_bs
    #   The data disk group size to be allocated for Autonomous Databases,
    #   in terabytes (TB).
    #   @return [Float]
    #
    # @!attribute [rw] cpu_core_count_per_node
    #   The number of CPU cores to be enabled per VM cluster node.
    #   @return [Integer]
    #
    # @!attribute [rw] db_servers
    #   The list of database servers to be used for the Autonomous VM
    #   cluster.
    #   @return [Array<String>]
    #
    # @!attribute [rw] description
    #   A user-provided description of the Autonomous VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] is_mtls_enabled_vm_cluster
    #   Specifies whether to enable mutual TLS (mTLS) authentication for the
    #   Autonomous VM cluster.
    #   @return [Boolean]
    #
    # @!attribute [rw] license_model
    #   The Oracle license model to apply to the Autonomous VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] maintenance_window
    #   The scheduling details for the maintenance window. Patching and
    #   system updates take place during the maintenance window.
    #   @return [Types::MaintenanceWindow]
    #
    # @!attribute [rw] memory_per_oracle_compute_unit_in_g_bs
    #   The amount of memory to be allocated per OCPU, in GB.
    #   @return [Integer]
    #
    # @!attribute [rw] scan_listener_port_non_tls
    #   The SCAN listener port for non-TLS (TCP) protocol.
    #   @return [Integer]
    #
    # @!attribute [rw] scan_listener_port_tls
    #   The SCAN listener port for TLS (TCP) protocol.
    #   @return [Integer]
    #
    # @!attribute [rw] tags
    #   Free-form tags for this resource. Each tag is a key-value pair with
    #   no predefined name, type, or namespace.
    #   @return [Hash<String,String>]
    #
    # @!attribute [rw] time_zone
    #   The time zone to use for the Autonomous VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] total_container_databases
    #   The total number of Autonomous CDBs that you can create in the
    #   Autonomous VM cluster.
    #   @return [Integer]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/CreateCloudAutonomousVmClusterInput AWS API Documentation
    #
    class CreateCloudAutonomousVmClusterInput < Struct.new(
      :cloud_exadata_infrastructure_id,
      :odb_network_id,
      :display_name,
      :client_token,
      :autonomous_data_storage_size_in_t_bs,
      :cpu_core_count_per_node,
      :db_servers,
      :description,
      :is_mtls_enabled_vm_cluster,
      :license_model,
      :maintenance_window,
      :memory_per_oracle_compute_unit_in_g_bs,
      :scan_listener_port_non_tls,
      :scan_listener_port_tls,
      :tags,
      :time_zone,
      :total_container_databases)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] display_name
    #   The display name of the created Autonomous VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] status
    #   The current status of the Autonomous VM cluster creation process.
    #   @return [String]
    #
    # @!attribute [rw] status_reason
    #   Additional information about the current status of the Autonomous VM
    #   cluster creation process, if applicable.
    #   @return [String]
    #
    # @!attribute [rw] cloud_autonomous_vm_cluster_id
    #   The unique identifier of the created Autonomous VM cluster.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/CreateCloudAutonomousVmClusterOutput AWS API Documentation
    #
    class CreateCloudAutonomousVmClusterOutput < Struct.new(
      :display_name,
      :status,
      :status_reason,
      :cloud_autonomous_vm_cluster_id)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] display_name
    #   A user-friendly name for the Exadata infrastructure.
    #   @return [String]
    #
    # @!attribute [rw] shape
    #   The model name of the Exadata infrastructure. For the list of valid
    #   model names, use the `ListDbSystemShapes` operation.
    #   @return [String]
    #
    # @!attribute [rw] availability_zone
    #   The name of the Availability Zone (AZ) where the Exadata
    #   infrastructure is located.
    #
    #   This operation requires that you specify a value for either
    #   `availabilityZone` or `availabilityZoneId`.
    #
    #   Example: `us-east-1a`
    #   @return [String]
    #
    # @!attribute [rw] availability_zone_id
    #   The AZ ID of the AZ where the Exadata infrastructure is located.
    #
    #   This operation requires that you specify a value for either
    #   `availabilityZone` or `availabilityZoneId`.
    #
    #   Example: `use1-az1`
    #   @return [String]
    #
    # @!attribute [rw] tags
    #   The list of resource tags to apply to the Exadata infrastructure.
    #   @return [Hash<String,String>]
    #
    # @!attribute [rw] compute_count
    #   The number of database servers for the Exadata infrastructure. Valid
    #   values for this parameter depend on the shape. To get information
    #   about the minimum and maximum values, use the `ListDbSystemShapes`
    #   operation.
    #   @return [Integer]
    #
    # @!attribute [rw] customer_contacts_to_send_to_oci
    #   The email addresses of contacts to receive notification from Oracle
    #   about maintenance updates for the Exadata infrastructure.
    #   @return [Array<Types::CustomerContact>]
    #
    # @!attribute [rw] maintenance_window
    #   The maintenance window configuration for the Exadata Cloud
    #   infrastructure.
    #
    #   This allows you to define when maintenance operations such as
    #   patching and updates can be performed on the infrastructure.
    #   @return [Types::MaintenanceWindow]
    #
    # @!attribute [rw] storage_count
    #   The number of storage servers to activate for this Exadata
    #   infrastructure. Valid values for this parameter depend on the shape.
    #   To get information about the minimum and maximum values, use the
    #   `ListDbSystemShapes` operation.
    #   @return [Integer]
    #
    # @!attribute [rw] client_token
    #   A unique, case-sensitive identifier that you provide to ensure the
    #   idempotency of the request. If you don't specify a client token,
    #   the Amazon Web Services SDK automatically generates a client token
    #   and uses it for the request to ensure idempotency. The client token
    #   is valid for up to 24 hours after it's first used.
    #
    #   **A suitable default value is auto-generated.** You should normally
    #   not need to pass this option.
    #   @return [String]
    #
    # @!attribute [rw] database_server_type
    #   The database server model type of the Exadata infrastructure. For
    #   the list of valid model names, use the `ListDbSystemShapes`
    #   operation.
    #   @return [String]
    #
    # @!attribute [rw] storage_server_type
    #   The storage server model type of the Exadata infrastructure. For the
    #   list of valid model names, use the `ListDbSystemShapes` operation.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/CreateCloudExadataInfrastructureInput AWS API Documentation
    #
    class CreateCloudExadataInfrastructureInput < Struct.new(
      :display_name,
      :shape,
      :availability_zone,
      :availability_zone_id,
      :tags,
      :compute_count,
      :customer_contacts_to_send_to_oci,
      :maintenance_window,
      :storage_count,
      :client_token,
      :database_server_type,
      :storage_server_type)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] display_name
    #   The user-friendly name for the Exadata infrastructure.
    #   @return [String]
    #
    # @!attribute [rw] status
    #   The current status of the Exadata infrastructure.
    #   @return [String]
    #
    # @!attribute [rw] status_reason
    #   Additional information about the status of the Exadata
    #   infrastructure.
    #   @return [String]
    #
    # @!attribute [rw] cloud_exadata_infrastructure_id
    #   The unique identifier of the Exadata infrastructure.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/CreateCloudExadataInfrastructureOutput AWS API Documentation
    #
    class CreateCloudExadataInfrastructureOutput < Struct.new(
      :display_name,
      :status,
      :status_reason,
      :cloud_exadata_infrastructure_id)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] cloud_exadata_infrastructure_id
    #   The unique identifier of the Exadata infrastructure for this VM
    #   cluster.
    #   @return [String]
    #
    # @!attribute [rw] cpu_core_count
    #   The number of CPU cores to enable on the VM cluster.
    #   @return [Integer]
    #
    # @!attribute [rw] display_name
    #   A user-friendly name for the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] gi_version
    #   A valid software version of Oracle Grid Infrastructure (GI). To get
    #   the list of valid values, use the `ListGiVersions` operation and
    #   specify the shape of the Exadata infrastructure.
    #
    #   Example: `19.0.0.0`
    #   @return [String]
    #
    # @!attribute [rw] hostname
    #   The host name for the VM cluster.
    #
    #   Constraints:
    #
    #   * Can't be "localhost" or "hostname".
    #
    #   * Can't contain "-version".
    #
    #   * The maximum length of the combined hostname and domain is 63
    #     characters.
    #
    #   * The hostname must be unique within the subnet.
    #   @return [String]
    #
    # @!attribute [rw] ssh_public_keys
    #   The public key portion of one or more key pairs used for SSH access
    #   to the VM cluster.
    #   @return [Array<String>]
    #
    # @!attribute [rw] odb_network_id
    #   The unique identifier of the ODB network for the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] cluster_name
    #   A name for the Grid Infrastructure cluster. The name isn't case
    #   sensitive.
    #   @return [String]
    #
    # @!attribute [rw] data_collection_options
    #   The set of preferences for the various diagnostic collection options
    #   for the VM cluster.
    #   @return [Types::DataCollectionOptions]
    #
    # @!attribute [rw] data_storage_size_in_t_bs
    #   The size of the data disk group, in terabytes (TBs), to allocate for
    #   the VM cluster.
    #   @return [Float]
    #
    # @!attribute [rw] db_node_storage_size_in_g_bs
    #   The amount of local node storage, in gigabytes (GBs), to allocate
    #   for the VM cluster.
    #   @return [Integer]
    #
    # @!attribute [rw] db_servers
    #   The list of database servers for the VM cluster.
    #   @return [Array<String>]
    #
    # @!attribute [rw] tags
    #   The list of resource tags to apply to the VM cluster.
    #   @return [Hash<String,String>]
    #
    # @!attribute [rw] is_local_backup_enabled
    #   Specifies whether to enable database backups to local Exadata
    #   storage for the VM cluster.
    #   @return [Boolean]
    #
    # @!attribute [rw] is_sparse_diskgroup_enabled
    #   Specifies whether to create a sparse disk group for the VM cluster.
    #   @return [Boolean]
    #
    # @!attribute [rw] license_model
    #   The Oracle license model to apply to the VM cluster.
    #
    #   Default: `LICENSE_INCLUDED`
    #   @return [String]
    #
    # @!attribute [rw] memory_size_in_g_bs
    #   The amount of memory, in gigabytes (GBs), to allocate for the VM
    #   cluster.
    #   @return [Integer]
    #
    # @!attribute [rw] system_version
    #   The version of the operating system of the image for the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] time_zone
    #   The time zone for the VM cluster. For a list of valid values for
    #   time zone, you can check the options in the console.
    #
    #   Default: UTC
    #   @return [String]
    #
    # @!attribute [rw] client_token
    #   A unique, case-sensitive identifier that you provide to ensure the
    #   idempotency of the request. If you don't specify a client token,
    #   the Amazon Web Services SDK automatically generates a client token
    #   and uses it for the request to ensure idempotency. The client token
    #   is valid for up to 24 hours after it's first used.
    #
    #   **A suitable default value is auto-generated.** You should normally
    #   not need to pass this option.
    #   @return [String]
    #
    # @!attribute [rw] scan_listener_port_tcp
    #   The port number for TCP connections to the single client access name
    #   (SCAN) listener.
    #
    #   Valid values: `1024–8999` with the following exceptions: `2484`,
    #   `6100`, `6200`, `7060`, `7070`, `7085`, and `7879`
    #
    #   Default: `1521`
    #   @return [Integer]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/CreateCloudVmClusterInput AWS API Documentation
    #
    class CreateCloudVmClusterInput < Struct.new(
      :cloud_exadata_infrastructure_id,
      :cpu_core_count,
      :display_name,
      :gi_version,
      :hostname,
      :ssh_public_keys,
      :odb_network_id,
      :cluster_name,
      :data_collection_options,
      :data_storage_size_in_t_bs,
      :db_node_storage_size_in_g_bs,
      :db_servers,
      :tags,
      :is_local_backup_enabled,
      :is_sparse_diskgroup_enabled,
      :license_model,
      :memory_size_in_g_bs,
      :system_version,
      :time_zone,
      :client_token,
      :scan_listener_port_tcp)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] display_name
    #   The user-friendly name for the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] status
    #   The current status of the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] status_reason
    #   Additional information about the status of the VM cluster.
    #   @return [String]
    #
    # @!attribute [rw] cloud_vm_cluster_id
    #   The unique identifier for the VM cluster.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/CreateCloudVmClusterOutput AWS API Documentation
    #
    class CreateCloudVmClusterOutput < Struct.new(
      :display_name,
      :status,
      :status_reason,
      :cloud_vm_cluster_id)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] display_name
    #   A user-friendly name for the ODB network.
    #   @return [String]
    #
    # @!attribute [rw] availability_zone
    #   The Amazon Web Services Availability Zone (AZ) where the ODB network
    #   is located.
    #
    #   This operation requires that you specify a value for either
    #   `availabilityZone` or `availabilityZoneId`.
    #   @return [String]
    #
    # @!attribute [rw] availability_zone_id
    #   The AZ ID of the AZ where the ODB network is located.
    #
    #   This operation requires that you specify a value for either
    #   `availabilityZone` or `availabilityZoneId`.
    #   @return [String]
    #
    # @!attribute [rw] client_subnet_cidr
    #   The CIDR range of the client subnet for the ODB network.
    #
    #   Constraints:
    #
    #   * Must not overlap with the CIDR range of the backup subnet.
    #
    #   * Must not overlap with the CIDR ranges of the VPCs that are
    #     connected to the ODB network.
    #
    #   * Must not use the following CIDR ranges that are reserved by OCI:
    #
    #     * `100.106.0.0/16` and `100.107.0.0/16`
    #
    #     * `169.254.0.0/16`
    #
    #     * `224.0.0.0 - 239.255.255.255`
    #
    #     * `240.0.0.0 - 255.255.255.255`
    #   @return [String]
    #
    # @!attribute [rw] backup_subnet_cidr
    #   The CIDR range of the backup subnet for the ODB network.
    #
    #   Constraints:
    #
    #   * Must not overlap with the CIDR range of the client subnet.
    #
    #   * Must not overlap with the CIDR ranges of the VPCs that are
    #     connected to the ODB network.
    #
    #   * Must not use the following CIDR ranges that are reserved by OCI:
    #
    #     * `100.106.0.0/16` and `100.107.0.0/16`
    #
    #     * `169.254.0.0/16`
    #
    #     * `224.0.0.0 - 239.255.255.255`
    #
    #     * `240.0.0.0 - 255.255.255.255`
    #   @return [String]
    #
    # @!attribute [rw] custom_domain_name
    #   The domain name to use for the resources in the ODB network.
    #   @return [String]
    #
    # @!attribute [rw] default_dns_prefix
    #   The DNS prefix to the default DNS domain name. The default DNS
    #   domain name is oraclevcn.com.
    #   @return [String]
    #
    # @!attribute [rw] client_token
    #   A unique, case-sensitive identifier that you provide to ensure the
    #   idempotency of the request. If you don't specify a client token,
    #   the Amazon Web Services SDK automatically generates a client token
    #   and uses it for the request to ensure idempotency. The client token
    #   is valid for up to 24 hours after it's first used.
    #
    #   **A suitable default value is auto-generated.** You should normally
    #   not need to pass this option.
    #   @return [String]
    #
    # @!attribute [rw] s3_access
    #   Specifies the configuration for Amazon S3 access from the ODB
    #   network.
    #   @return [String]
    #
    # @!attribute [rw] zero_etl_access
    #   Specifies the configuration for Zero-ETL access from the ODB
    #   network.
    #   @return [String]
    #
    # @!attribute [rw] s3_policy_document
    #   Specifies the endpoint policy for Amazon S3 access from the ODB
    #   network.
    #   @return [String]
    #
    # @!attribute [rw] tags
    #   The list of resource tags to apply to the ODB network.
    #   @return [Hash<String,String>]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/CreateOdbNetworkInput AWS API Documentation
    #
    class CreateOdbNetworkInput < Struct.new(
      :display_name,
      :availability_zone,
      :availability_zone_id,
      :client_subnet_cidr,
      :backup_subnet_cidr,
      :custom_domain_name,
      :default_dns_prefix,
      :client_token,
      :s3_access,
      :zero_etl_access,
      :s3_policy_document,
      :tags)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] display_name
    #   The user-friendly name of the ODB network.
    #   @return [String]
    #
    # @!attribute [rw] status
    #   The current status of the ODB network.
    #   @return [String]
    #
    # @!attribute [rw] status_reason
    #   Additional information about the status of the ODB network.
    #   @return [String]
    #
    # @!attribute [rw] odb_network_id
    #   The unique identifier of the ODB network.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/CreateOdbNetworkOutput AWS API Documentation
    #
    class CreateOdbNetworkOutput < Struct.new(
      :display_name,
      :status,
      :status_reason,
      :odb_network_id)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] odb_network_id
    #   The unique identifier of the ODB network that initiates the peering
    #   connection.
    #   @return [String]
    #
    # @!attribute [rw] peer_network_id
    #   The unique identifier of the peer network. This can be either a VPC
    #   ID or another ODB network ID.
    #   @return [String]
    #
    # @!attribute [rw] display_name
    #   The display name for the ODB peering connection.
    #   @return [String]
    #
    # @!attribute [rw] peer_network_cidrs_to_be_added
    #   A list of CIDR blocks to add to the peering connection. These CIDR
    #   blocks define the IP address ranges that can communicate through the
    #   peering connection.
    #   @return [Array<String>]
    #
    # @!attribute [rw] client_token
    #   The client token for the ODB peering connection request.
    #
    #   Constraints:
    #
    #   * Must be unique for each request.
    #
    #   ^
    #
    #   **A suitable default value is auto-generated.** You should normally
    #   not need to pass this option.
    #   @return [String]
    #
    # @!attribute [rw] tags
    #   The tags to assign to the ODB peering connection.
    #   @return [Hash<String,String>]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/CreateOdbPeeringConnectionInput AWS API Documentation
    #
    class CreateOdbPeeringConnectionInput < Struct.new(
      :odb_network_id,
      :peer_network_id,
      :display_name,
      :peer_network_cidrs_to_be_added,
      :client_token,
      :tags)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] display_name
    #   The display name of the ODB peering connection.
    #   @return [String]
    #
    # @!attribute [rw] status
    #   The status of the ODB peering connection.
    #
    #   Valid Values: `provisioning | active | terminating | terminated |
    #   failed`
    #   @return [String]
    #
    # @!attribute [rw] status_reason
    #   The reason for the current status of the ODB peering connection.
    #   @return [String]
    #
    # @!attribute [rw] odb_peering_connection_id
    #   The unique identifier of the ODB peering connection.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/CreateOdbPeeringConnectionOutput AWS API Documentation
    #
    class CreateOdbPeeringConnectionOutput < Struct.new(
      :display_name,
      :status,
      :status_reason,
      :odb_peering_connection_id)
      SENSITIVE = []
      include Aws::Structure
    end

    # A contact to receive notification from Oracle about maintenance
    # updates for a specific Exadata infrastructure.
    #
    # @!attribute [rw] email
    #   The email address of the contact.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/CustomerContact AWS API Documentation
    #
    class CustomerContact < Struct.new(
      :email)
      SENSITIVE = [:email]
      include Aws::Structure
    end

    # Information about the data collection options enabled for a VM
    # cluster.
    #
    # @!attribute [rw] is_diagnostics_events_enabled
    #   Indicates whether diagnostic collection is enabled for the VM
    #   cluster.
    #   @return [Boolean]
    #
    # @!attribute [rw] is_health_monitoring_enabled
    #   Indicates whether health monitoring is enabled for the VM cluster.
    #   @return [Boolean]
    #
    # @!attribute [rw] is_incident_logs_enabled
    #   Indicates whether incident logs are enabled for the cloud VM
    #   cluster.
    #   @return [Boolean]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/DataCollectionOptions AWS API Documentation
    #
    class DataCollectionOptions < Struct.new(
      :is_diagnostics_events_enabled,
      :is_health_monitoring_enabled,
      :is_incident_logs_enabled)
      SENSITIVE = []
      include Aws::Structure
    end

    # An enumeration of days of the week used for scheduling maintenance
    # windows.
    #
    # @!attribute [rw] name
    #   The name of the day of the week.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/DayOfWeek AWS API Documentation
    #
    class DayOfWeek < Struct.new(
      :name)
      SENSITIVE = []
      include Aws::Structure
    end

    # The IORM configuration settings for the database.
    #
    # @!attribute [rw] db_name
    #   The database name. For the default DbPlan, the dbName is `default`.
    #   @return [String]
    #
    # @!attribute [rw] flash_cache_limit
    #   The flash cache limit for this database. This value is internally
    #   configured based on the share value assigned to the database.
    #   @return [String]
    #
    # @!attribute [rw] share
    #   The relative priority of this database.
    #   @return [Integer]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/DbIormConfig AWS API Documentation
    #
    class DbIormConfig < Struct.new(
      :db_name,
      :flash_cache_limit,
      :share)
      SENSITIVE = []
      include Aws::Structure
    end

    # Information about a DB node.
    #
    # @!attribute [rw] db_node_id
    #   The unique identifier of the DB node.
    #   @return [String]
    #
    # @!attribute [rw] db_node_arn
    #   The Amazon Resource Name (ARN) of the DB node.
    #   @return [String]
    #
    # @!attribute [rw] status
    #   The current status of the DB node.
    #   @return [String]
    #
    # @!attribute [rw] status_reason
    #   Additional information about the status of the DB node.
    #   @return [String]
    #
    # @!attribute [rw] additional_details
    #   Additional information about the planned maintenance.
    #   @return [String]
    #
    # @!attribute [rw] backup_ip_id
    #   The Oracle Cloud ID (OCID) of the backup IP address that's
    #   associated with the DB node.
    #   @return [String]
    #
    # @!attribute [rw] backup_vnic_2_id
    #   The OCID of the second backup VNIC.
    #   @return [String]
    #
    # @!attribute [rw] backup_vnic_id
    #   The OCID of the backup VNIC.
    #   @return [String]
    #
    # @!attribute [rw] cpu_core_count
    #   Number of CPU cores enabled on the DB node.
    #   @return [Integer]
    #
    # @!attribute [rw] db_node_storage_size_in_g_bs
    #   The amount of local node storage, in gigabytes (GBs), that's
    #   allocated on the DB node.
    #   @return [Integer]
    #
    # @!attribute [rw] db_server_id
    #   The unique identifier of the Db server that is associated with the
    #   DB node.
    #   @return [String]
    #
    # @!attribute [rw] db_system_id
    #   The OCID of the DB system.
    #   @return [String]
    #
    # @!attribute [rw] fault_domain
    #   The name of the fault domain the instance is contained in.
    #   @return [String]
    #
    # @!attribute [rw] host_ip_id
    #   The OCID of the host IP address that's associated with the DB node.
    #   @return [String]
    #
    # @!attribute [rw] hostname
    #   The host name for the DB node.
    #   @return [String]
    #
    # @!attribute [rw] ocid
    #   The OCID of the DB node.
    #   @return [String]
    #
    # @!attribute [rw] oci_resource_anchor_name
    #   The name of the OCI resource anchor for the DB node.
    #   @return [String]
    #
    # @!attribute [rw] maintenance_type
    #   The type of database node maintenance. Either
    #   `VMDB_REBOOT_MIGRATION` or `EXADBXS_REBOOT_MIGRATION`.
    #   @return [String]
    #
    # @!attribute [rw] memory_size_in_g_bs
    #   The allocated memory in GBs on the DB node.
    #   @return [Integer]
    #
    # @!attribute [rw] software_storage_size_in_gb
    #   The size (in GB) of the block storage volume allocation for the DB
    #   system.
    #   @return [Integer]
    #
    # @!attribute [rw] created_at
    #   The date and time when the DB node was created.
    #   @return [Time]
    #
    # @!attribute [rw] time_maintenance_window_end
    #   End date and time of maintenance window.
    #   @return [String]
    #
    # @!attribute [rw] time_maintenance_window_start
    #   Start date and time of maintenance window.
    #   @return [String]
    #
    # @!attribute [rw] total_cpu_core_count
    #   The total number of CPU cores reserved on the DB node.
    #   @return [Integer]
    #
    # @!attribute [rw] vnic2_id
    #   The OCID of the second VNIC.
    #   @return [String]
    #
    # @!attribute [rw] vnic_id
    #   The OCID of the VNIC.
    #   @return [String]
    #
    # @!attribute [rw] private_ip_address
    #   The private IP address assigned to the DB node.
    #   @return [String]
    #
    # @!attribute [rw] floating_ip_address
    #   The floating IP address assigned to the DB node.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/DbNode AWS API Documentation
    #
    class DbNode < Struct.new(
      :db_node_id,
      :db_node_arn,
      :status,
      :status_reason,
      :additional_details,
      :backup_ip_id,
      :backup_vnic_2_id,
      :backup_vnic_id,
      :cpu_core_count,
      :db_node_storage_size_in_g_bs,
      :db_server_id,
      :db_system_id,
      :fault_domain,
      :host_ip_id,
      :hostname,
      :ocid,
      :oci_resource_anchor_name,
      :maintenance_type,
      :memory_size_in_g_bs,
      :software_storage_size_in_gb,
      :created_at,
      :time_maintenance_window_end,
      :time_maintenance_window_start,
      :total_cpu_core_count,
      :vnic2_id,
      :vnic_id,
      :private_ip_address,
      :floating_ip_address)
      SENSITIVE = []
      include Aws::Structure
    end

    # Information about a DB node.
    #
    # @!attribute [rw] db_node_id
    #   The unique identifier of the DB node.
    #   @return [String]
    #
    # @!attribute [rw] db_node_arn
    #   The Amazon Resource Name (ARN) of the DB node.
    #   @return [String]
    #
    # @!attribute [rw] status
    #   The current status of the DB node.
    #   @return [String]
    #
    # @!attribute [rw] status_reason
    #   Additional information about the status of the DB node.
    #   @return [String]
    #
    # @!attribute [rw] additional_details
    #   Additional information about the planned maintenance.
    #   @return [String]
    #
    # @!attribute [rw] backup_ip_id
    #   The Oracle Cloud ID (OCID) of the backup IP address that's
    #   associated with the DB node.
    #   @return [String]
    #
    # @!attribute [rw] backup_vnic_2_id
    #   The OCID of the second backup virtual network interface card (VNIC)
    #   for the DB node.
    #   @return [String]
    #
    # @!attribute [rw] backup_vnic_id
    #   The OCID of the backup VNIC for the DB node.
    #   @return [String]
    #
    # @!attribute [rw] cpu_core_count
    #   The number of CPU cores enabled on the DB node.
    #   @return [Integer]
    #
    # @!attribute [rw] db_node_storage_size_in_g_bs
    #   The amount of local node storage, in gigabytes (GB), that's
    #   allocated on the DB node.
    #   @return [Integer]
    #
    # @!attribute [rw] db_server_id
    #   The unique identifier of the database server that's associated with
    #   the DB node.
    #   @return [String]
    #
    # @!attribute [rw] db_system_id
    #   The OCID of the DB system.
    #   @return [String]
    #
    # @!attribute [rw] fault_domain
    #   The name of the fault domain where the DB node is located.
    #   @return [String]
    #
    # @!attribute [rw] host_ip_id
    #   The OCID of the host IP address that's associated with the DB node.
    #   @return [String]
    #
    # @!attribute [rw] hostname
    #   The host name for the DB node.
    #   @return [String]
    #
    # @!attribute [rw] ocid
    #   The OCID of the DB node.
    #   @return [String]
    #
    # @!attribute [rw] oci_resource_anchor_name
    #   The name of the OCI resource anchor for the DB node.
    #   @return [String]
    #
    # @!attribute [rw] maintenance_type
    #   The type of maintenance the DB node.
    #   @return [String]
    #
    # @!attribute [rw] memory_size_in_g_bs
    #   The amount of memory, in gigabytes (GB), that allocated on the DB
    #   node.
    #   @return [Integer]
    #
    # @!attribute [rw] software_storage_size_in_gb
    #   The size of the block storage volume, in gigabytes (GB), that's
    #   allocated for the DB system. This attribute applies only for virtual
    #   machine DB systems.
    #   @return [Integer]
    #
    # @!attribute [rw] created_at
    #   The date and time when the DB node was created.
    #   @return [Time]
    #
    # @!attribute [rw] time_maintenance_window_end
    #   The end date and time of the maintenance window.
    #   @return [String]
    #
    # @!attribute [rw] time_maintenance_window_start
    #   The start date and time of the maintenance window.
    #   @return [String]
    #
    # @!attribute [rw] total_cpu_core_count
    #   The total number of CPU cores reserved on the DB node.
    #   @return [Integer]
    #
    # @!attribute [rw] vnic2_id
    #   The OCID of the second VNIC.
    #   @return [String]
    #
    # @!attribute [rw] vnic_id
    #   The OCID of the VNIC.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/DbNodeSummary AWS API Documentation
    #
    class DbNodeSummary < Struct.new(
      :db_node_id,
      :db_node_arn,
      :status,
      :status_reason,
      :additional_details,
      :backup_ip_id,
      :backup_vnic_2_id,
      :backup_vnic_id,
      :cpu_core_count,
      :db_node_storage_size_in_g_bs,
      :db_server_id,
      :db_system_id,
      :fault_domain,
      :host_ip_id,
      :hostname,
      :ocid,
      :oci_resource_anchor_name,
      :maintenance_type,
      :memory_size_in_g_bs,
      :software_storage_size_in_gb,
      :created_at,
      :time_maintenance_window_end,
      :time_maintenance_window_start,
      :total_cpu_core_count,
      :vnic2_id,
      :vnic_id)
      SENSITIVE = []
      include Aws::Structure
    end

    # Information about a database server.
    #
    # @!attribute [rw] db_server_id
    #   The unique identifier for the database server.
    #   @return [String]
    #
    # @!attribute [rw] status
    #   The current status of the database server.
    #   @return [String]
    #
    # @!attribute [rw] status_reason
    #   Additional information about the current status of the database
    #   server.
    #   @return [String]
    #
    # @!attribute [rw] cpu_core_count
    #   The number of CPU cores enabled on the database server.
    #   @return [Integer]
    #
    # @!attribute [rw] db_node_storage_size_in_g_bs
    #   The allocated local node storage in GBs on the database server.
    #   @return [Integer]
    #
    # @!attribute [rw] db_server_patching_details
    #   The scheduling details for the quarterly maintenance window.
    #   Patching and system updates take place during the maintenance
    #   window.
    #   @return [Types::DbServerPatchingDetails]
    #
    # @!attribute [rw] display_name
    #   The user-friendly name of the database server.
    #   @return [String]
    #
    # @!attribute [rw] exadata_infrastructure_id
    #   The ID of the Exadata infrastructure the database server belongs to.
    #   @return [String]
    #
    # @!attribute [rw] ocid
    #   The OCID of the database server.
    #   @return [String]
    #
    # @!attribute [rw] oci_resource_anchor_name
    #   The name of the OCI resource anchor for the database server.
    #   @return [String]
    #
    # @!attribute [rw] max_cpu_count
    #   The total number of CPU cores available.
    #   @return [Integer]
    #
    # @!attribute [rw] max_db_node_storage_in_g_bs
    #   The total local node storage available in GBs.
    #   @return [Integer]
    #
    # @!attribute [rw] max_memory_in_g_bs
    #   The total memory available in GBs.
    #   @return [Integer]
    #
    # @!attribute [rw] memory_size_in_g_bs
    #   The allocated memory in GBs on the database server.
    #   @return [Integer]
    #
    # @!attribute [rw] shape
    #   The shape of the database server. The shape determines the amount of
    #   CPU, storage, and memory resources available.
    #   @return [String]
    #
    # @!attribute [rw] created_at
    #   The date and time when the database server was created.
    #   @return [Time]
    #
    # @!attribute [rw] vm_cluster_ids
    #   The OCID of the VM clusters that are associated with the database
    #   server.
    #   @return [Array<String>]
    #
    # @!attribute [rw] compute_model
    #   The compute model of the database server (ECPU or OCPU).
    #   @return [String]
    #
    # @!attribute [rw] autonomous_vm_cluster_ids
    #   The list of identifiers for the Autonomous VM clusters associated
    #   with this database server.
    #   @return [Array<String>]
    #
    # @!attribute [rw] autonomous_virtual_machine_ids
    #   The list of unique identifiers for the Autonomous VMs associated
    #   with this database server.
    #   @return [Array<String>]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/DbServer AWS API Documentation
    #
    class DbServer < Struct.new(
      :db_server_id,
      :status,
      :status_reason,
      :cpu_core_count,
      :db_node_storage_size_in_g_bs,
      :db_server_patching_details,
      :display_name,
      :exadata_infrastructure_id,
      :ocid,
      :oci_resource_anchor_name,
      :max_cpu_count,
      :max_db_node_storage_in_g_bs,
      :max_memory_in_g_bs,
      :memory_size_in_g_bs,
      :shape,
      :created_at,
      :vm_cluster_ids,
      :compute_model,
      :autonomous_vm_cluster_ids,
      :autonomous_virtual_machine_ids)
      SENSITIVE = []
      include Aws::Structure
    end

    # The scheduling details for the quarterly maintenance window. Patching
    # and system updates take place during the maintenance window.
    #
    # @!attribute [rw] estimated_patch_duration
    #   Estimated time, in minutes, to patch one database server.
    #   @return [Integer]
    #
    # @!attribute [rw] patching_status
    #   The status of the patching operation. Possible values are
    #   `SCHEDULED`, `MAINTENANCE_IN_PROGRESS`, `FAILED`, and `COMPLETE`.
    #   @return [String]
    #
    # @!attribute [rw] time_patching_ended
    #   The time when the patching operation ended.
    #   @return [String]
    #
    # @!attribute [rw] time_patching_started
    #   The time when the patching operation started.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/DbServerPatchingDetails AWS API Documentation
    #
    class DbServerPatchingDetails < Struct.new(
      :estimated_patch_duration,
      :patching_status,
      :time_patching_ended,
      :time_patching_started)
      SENSITIVE = []
      include Aws::Structure
    end

    # Information about a database server.
    #
    # @!attribute [rw] db_server_id
    #   The unique identifier of the database server.
    #   @return [String]
    #
    # @!attribute [rw] status
    #   The current status of the database server.
    #   @return [String]
    #
    # @!attribute [rw] status_reason
    #   Additional information about the status of the database server.
    #   @return [String]
    #
    # @!attribute [rw] cpu_core_count
    #   The number of CPU cores enabled on the database server.
    #   @return [Integer]
    #
    # @!attribute [rw] db_node_storage_size_in_g_bs
    #   The amount of local node storage, in gigabytes (GB), that's
    #   allocated on the database server.
    #   @return [Integer]
    #
    # @!attribute [rw] db_server_patching_details
    #   The scheduling details for the quarterly maintenance window.
    #   Patching and system updates take place during the maintenance
    #   window.
    #   @return [Types::DbServerPatchingDetails]
    #
    # @!attribute [rw] display_name
    #   The user-friendly name of the database server. The name doesn't
    #   need to be unique.
    #   @return [String]
    #
    # @!attribute [rw] exadata_infrastructure_id
    #   The ID of the Exadata infrastructure that hosts the database server.
    #   @return [String]
    #
    # @!attribute [rw] ocid
    #   The OCID of the database server.
    #   @return [String]
    #
    # @!attribute [rw] oci_resource_anchor_name
    #   The name of the OCI resource anchor for the database server.
    #   @return [String]
    #
    # @!attribute [rw] max_cpu_count
    #   The total number of CPU cores available on the database server.
    #   @return [Integer]
    #
    # @!attribute [rw] max_db_node_storage_in_g_bs
    #   The total amount of local node storage, in gigabytes (GB), that's
    #   available on the database server.
    #   @return [Integer]
    #
    # @!attribute [rw] max_memory_in_g_bs
    #   The total amount of memory, in gigabytes (GB), that's available on
    #   the database server.
    #   @return [Integer]
    #
    # @!attribute [rw] memory_size_in_g_bs
    #   The amount of memory, in gigabytes (GB), that's allocated on the
    #   database server.
    #   @return [Integer]
    #
    # @!attribute [rw] shape
    #   The hardware system model of the Exadata infrastructure that the
    #   database server is hosted on. The shape determines the amount of
    #   CPU, storage, and memory resources available.
    #   @return [String]
    #
    # @!attribute [rw] created_at
    #   The date and time when the database server was created.
    #   @return [Time]
    #
    # @!attribute [rw] vm_cluster_ids
    #   The IDs of the VM clusters that are associated with the database
    #   server.
    #   @return [Array<String>]
    #
    # @!attribute [rw] compute_model
    #   The OCI model compute model used when you create or clone an
    #   instance: ECPU or OCPU. An ECPU is an abstracted measure of compute
    #   resources. ECPUs are based on the number of cores elastically
    #   allocated from a pool of compute and storage servers. An OCPU is a
    #   legacy physical measure of compute resources. OCPUs are based on the
    #   physical core of a processor with hyper-threading enabled.
    #   @return [String]
    #
    # @!attribute [rw] autonomous_vm_cluster_ids
    #   A list of identifiers for the Autonomous VM clusters.
    #   @return [Array<String>]
    #
    # @!attribute [rw] autonomous_virtual_machine_ids
    #   A list of unique identifiers for the Autonomous VMs.
    #   @return [Array<String>]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/DbServerSummary AWS API Documentation
    #
    class DbServerSummary < Struct.new(
      :db_server_id,
      :status,
      :status_reason,
      :cpu_core_count,
      :db_node_storage_size_in_g_bs,
      :db_server_patching_details,
      :display_name,
      :exadata_infrastructure_id,
      :ocid,
      :oci_resource_anchor_name,
      :max_cpu_count,
      :max_db_node_storage_in_g_bs,
      :max_memory_in_g_bs,
      :memory_size_in_g_bs,
      :shape,
      :created_at,
      :vm_cluster_ids,
      :compute_model,
      :autonomous_vm_cluster_ids,
      :autonomous_virtual_machine_ids)
      SENSITIVE = []
      include Aws::Structure
    end

    # Information about a hardware system model (shape) that's available
    # for an Exadata infrastructure. The shape determines resources, such as
    # CPU cores, memory, and storage, to allocate to the Exadata
    # infrastructure.
    #
    # @!attribute [rw] available_core_count
    #   The maximum number of CPU cores that can be enabled for the shape.
    #   @return [Integer]
    #
    # @!attribute [rw] available_core_count_per_node
    #   The maximum number of CPU cores per DB node that can be enabled for
    #   the shape.
    #   @return [Integer]
    #
    # @!attribute [rw] available_data_storage_in_t_bs
    #   The maximum amount of data storage, in terabytes (TB), that can be
    #   enabled for the shape.
    #   @return [Integer]
    #
    # @!attribute [rw] available_data_storage_per_server_in_t_bs
    #   The maximum amount of data storage, in terabytes (TB), that's
    #   available per storage server for the shape.
    #   @return [Integer]
    #
    # @!attribute [rw] available_db_node_per_node_in_g_bs
    #   The maximum amount of DB node storage, in gigabytes (GB), that's
    #   available per DB node for the shape.
    #   @return [Integer]
    #
    # @!attribute [rw] available_db_node_storage_in_g_bs
    #   The maximum amount of DB node storage, in gigabytes (GB), that can
    #   be enabled for the shape.
    #   @return [Integer]
    #
    # @!attribute [rw] available_memory_in_g_bs
    #   The maximum amount of memory, in gigabytes (GB), that can be enabled
    #   for the shape.
    #   @return [Integer]
    #
    # @!attribute [rw] available_memory_per_node_in_g_bs
    #   The maximum amount of memory, in gigabytes (GB), that's available
    #   per DB node for the shape.
    #   @return [Integer]
    #
    # @!attribute [rw] core_count_increment
    #   The discrete number by which the CPU core count for the shape can be
    #   increased or decreased.
    #   @return [Integer]
    #
    # @!attribute [rw] max_storage_count
    #   The maximum number of Exadata storage servers that's available for
    #   the shape.
    #   @return [Integer]
    #
    # @!attribute [rw] maximum_node_count
    #   The maximum number of compute servers that is available for the
    #   shape.
    #   @return [Integer]
    #
    # @!attribute [rw] min_core_count_per_node
    #   The minimum number of CPU cores that can be enabled per node for the
    #   shape.
    #   @return [Integer]
    #
    # @!attribute [rw] min_data_storage_in_t_bs
    #   The minimum amount of data storage, in terabytes (TB), that must be
    #   allocated for the shape.
    #   @return [Integer]
    #
    # @!attribute [rw] min_db_node_storage_per_node_in_g_bs
    #   The minimum amount of DB node storage, in gigabytes (GB), that must
    #   be allocated per DB node for the shape.
    #   @return [Integer]
    #
    # @!attribute [rw] min_memory_per_node_in_g_bs
    #   The minimum amount of memory, in gigabytes (GB), that must be
    #   allocated per DB node for the shape.
    #   @return [Integer]
    #
    # @!attribute [rw] min_storage_count
    #   The minimum number of Exadata storage servers that are available for
    #   the shape.
    #   @return [Integer]
    #
    # @!attribute [rw] minimum_core_count
    #   The minimum number of CPU cores that can be enabled for the shape.
    #   @return [Integer]
    #
    # @!attribute [rw] minimum_node_count
    #   The minimum number of compute servers that are available for the
    #   shape.
    #   @return [Integer]
    #
    # @!attribute [rw] runtime_minimum_core_count
    #   The runtime minimum number of CPU cores that can be enabled for the
    #   shape.
    #   @return [Integer]
    #
    # @!attribute [rw] shape_family
    #   The family of the shape.
    #   @return [String]
    #
    # @!attribute [rw] shape_type
    #   The shape type. This property is determined by the CPU hardware.
    #   @return [String]
    #
    # @!attribute [rw] name
    #   The name of the shape.
    #   @return [String]
    #
    # @!attribute [rw] compute_model
    #   The OCI model compute model used when you create or clone an
    #   instance: ECPU or OCPU. An ECPU is an abstracted measure of compute
    #   resources. ECPUs are based on the number of cores elastically
    #   allocated from a pool of compute and storage servers. An OCPU is a
    #   legacy physical measure of compute resources. OCPUs are based on the
    #   physical core of a processor with hyper-threading enabled.
    #   @return [String]
    #
    # @!attribute [rw] are_server_types_supported
    #   Indicates whether the hardware system model supports configurable
    #   database and server storage types.
    #   @return [Boolean]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/DbSystemShapeSummary AWS API Documentation
    #
    class DbSystemShapeSummary < Struct.new(
      :available_core_count,
      :available_core_count_per_node,
      :available_data_storage_in_t_bs,
      :available_data_storage_per_server_in_t_bs,
      :available_db_node_per_node_in_g_bs,
      :available_db_node_storage_in_g_bs,
      :available_memory_in_g_bs,
      :available_memory_per_node_in_g_bs,
      :core_count_increment,
      :max_storage_count,
      :maximum_node_count,
      :min_core_count_per_node,
      :min_data_storage_in_t_bs,
      :min_db_node_storage_per_node_in_g_bs,
      :min_memory_per_node_in_g_bs,
      :min_storage_count,
      :minimum_core_count,
      :minimum_node_count,
      :runtime_minimum_core_count,
      :shape_family,
      :shape_type,
      :name,
      :compute_model,
      :are_server_types_supported)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] cloud_autonomous_vm_cluster_id
    #   The unique identifier of the Autonomous VM cluster to delete.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/DeleteCloudAutonomousVmClusterInput AWS API Documentation
    #
    class DeleteCloudAutonomousVmClusterInput < Struct.new(
      :cloud_autonomous_vm_cluster_id)
      SENSITIVE = []
      include Aws::Structure
    end

    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/DeleteCloudAutonomousVmClusterOutput AWS API Documentation
    #
    class DeleteCloudAutonomousVmClusterOutput < Aws::EmptyStructure; end

    # @!attribute [rw] cloud_exadata_infrastructure_id
    #   The unique identifier of the Exadata infrastructure to delete.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/DeleteCloudExadataInfrastructureInput AWS API Documentation
    #
    class DeleteCloudExadataInfrastructureInput < Struct.new(
      :cloud_exadata_infrastructure_id)
      SENSITIVE = []
      include Aws::Structure
    end

    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/DeleteCloudExadataInfrastructureOutput AWS API Documentation
    #
    class DeleteCloudExadataInfrastructureOutput < Aws::EmptyStructure; end

    # @!attribute [rw] cloud_vm_cluster_id
    #   The unique identifier of the VM cluster to delete.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/DeleteCloudVmClusterInput AWS API Documentation
    #
    class DeleteCloudVmClusterInput < Struct.new(
      :cloud_vm_cluster_id)
      SENSITIVE = []
      include Aws::Structure
    end

    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/DeleteCloudVmClusterOutput AWS API Documentation
    #
    class DeleteCloudVmClusterOutput < Aws::EmptyStructure; end

    # @!attribute [rw] odb_network_id
    #   The unique identifier of the ODB network to delete.
    #   @return [String]
    #
    # @!attribute [rw] delete_associated_resources
    #   Specifies whether to delete associated OCI networking resources
    #   along with the ODB network.
    #   @return [Boolean]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/DeleteOdbNetworkInput AWS API Documentation
    #
    class DeleteOdbNetworkInput < Struct.new(
      :odb_network_id,
      :delete_associated_resources)
      SENSITIVE = []
      include Aws::Structure
    end

    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/DeleteOdbNetworkOutput AWS API Documentation
    #
    class DeleteOdbNetworkOutput < Aws::EmptyStructure; end

    # @!attribute [rw] odb_peering_connection_id
    #   The unique identifier of the ODB peering connection to delete.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/DeleteOdbPeeringConnectionInput AWS API Documentation
    #
    class DeleteOdbPeeringConnectionInput < Struct.new(
      :odb_peering_connection_id)
      SENSITIVE = []
      include Aws::Structure
    end

    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/DeleteOdbPeeringConnectionOutput AWS API Documentation
    #
    class DeleteOdbPeeringConnectionOutput < Aws::EmptyStructure; end

    # The IORM settings of the Exadata DB system.
    #
    # @!attribute [rw] db_plans
    #   An array of IORM settings for all the database in the Exadata DB
    #   system.
    #   @return [Array<Types::DbIormConfig>]
    #
    # @!attribute [rw] lifecycle_details
    #   Additional information about the current lifecycleState.
    #   @return [String]
    #
    # @!attribute [rw] lifecycle_state
    #   The current state of IORM configuration for the Exadata DB system.
    #   @return [String]
    #
    # @!attribute [rw] objective
    #   The current value for the IORM objective. The default is AUTO.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/ExadataIormConfig AWS API Documentation
    #
    class ExadataIormConfig < Struct.new(
      :db_plans,
      :lifecycle_details,
      :lifecycle_state,
      :objective)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] cloud_autonomous_vm_cluster_id
    #   The unique identifier of the Autonomous VM cluster to retrieve
    #   information about.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/GetCloudAutonomousVmClusterInput AWS API Documentation
    #
    class GetCloudAutonomousVmClusterInput < Struct.new(
      :cloud_autonomous_vm_cluster_id)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] cloud_autonomous_vm_cluster
    #   The details of the requested Autonomous VM cluster.
    #   @return [Types::CloudAutonomousVmCluster]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/GetCloudAutonomousVmClusterOutput AWS API Documentation
    #
    class GetCloudAutonomousVmClusterOutput < Struct.new(
      :cloud_autonomous_vm_cluster)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] cloud_exadata_infrastructure_id
    #   The unique identifier of the Exadata infrastructure.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/GetCloudExadataInfrastructureInput AWS API Documentation
    #
    class GetCloudExadataInfrastructureInput < Struct.new(
      :cloud_exadata_infrastructure_id)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] cloud_exadata_infrastructure
    #   The Exadata infrastructure.
    #   @return [Types::CloudExadataInfrastructure]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/GetCloudExadataInfrastructureOutput AWS API Documentation
    #
    class GetCloudExadataInfrastructureOutput < Struct.new(
      :cloud_exadata_infrastructure)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] cloud_exadata_infrastructure_id
    #   The unique identifier of the Cloud Exadata infrastructure for which
    #   to retrieve unallocated resources.
    #   @return [String]
    #
    # @!attribute [rw] db_servers
    #   The database servers to include in the unallocated resources query.
    #   @return [Array<String>]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/GetCloudExadataInfrastructureUnallocatedResourcesInput AWS API Documentation
    #
    class GetCloudExadataInfrastructureUnallocatedResourcesInput < Struct.new(
      :cloud_exadata_infrastructure_id,
      :db_servers)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] cloud_exadata_infrastructure_unallocated_resources
    #   Details about the unallocated resources in the specified Cloud
    #   Exadata infrastructure.
    #   @return [Types::CloudExadataInfrastructureUnallocatedResources]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/GetCloudExadataInfrastructureUnallocatedResourcesOutput AWS API Documentation
    #
    class GetCloudExadataInfrastructureUnallocatedResourcesOutput < Struct.new(
      :cloud_exadata_infrastructure_unallocated_resources)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] cloud_vm_cluster_id
    #   The unique identifier of the VM cluster.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/GetCloudVmClusterInput AWS API Documentation
    #
    class GetCloudVmClusterInput < Struct.new(
      :cloud_vm_cluster_id)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] cloud_vm_cluster
    #   The VM cluster.
    #   @return [Types::CloudVmCluster]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/GetCloudVmClusterOutput AWS API Documentation
    #
    class GetCloudVmClusterOutput < Struct.new(
      :cloud_vm_cluster)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] cloud_vm_cluster_id
    #   The unique identifier of the VM cluster that contains the DB node.
    #   @return [String]
    #
    # @!attribute [rw] db_node_id
    #   The unique identifier of the DB node to retrieve information about.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/GetDbNodeInput AWS API Documentation
    #
    class GetDbNodeInput < Struct.new(
      :cloud_vm_cluster_id,
      :db_node_id)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] db_node
    #   Information about a DB node.
    #   @return [Types::DbNode]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/GetDbNodeOutput AWS API Documentation
    #
    class GetDbNodeOutput < Struct.new(
      :db_node)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] cloud_exadata_infrastructure_id
    #   The unique identifier of the Oracle Exadata infrastructure that
    #   contains the database server.
    #   @return [String]
    #
    # @!attribute [rw] db_server_id
    #   The unique identifier of the database server to retrieve information
    #   about.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/GetDbServerInput AWS API Documentation
    #
    class GetDbServerInput < Struct.new(
      :cloud_exadata_infrastructure_id,
      :db_server_id)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] db_server
    #   The details of the requested database server.
    #   @return [Types::DbServer]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/GetDbServerOutput AWS API Documentation
    #
    class GetDbServerOutput < Struct.new(
      :db_server)
      SENSITIVE = []
      include Aws::Structure
    end

    # @api private
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/GetOciOnboardingStatusInput AWS API Documentation
    #
    class GetOciOnboardingStatusInput < Aws::EmptyStructure; end

    # @!attribute [rw] status
    #   @return [String]
    #
    # @!attribute [rw] existing_tenancy_activation_link
    #   The existing OCI tenancy activation link for your Amazon Web
    #   Services account.
    #   @return [String]
    #
    # @!attribute [rw] new_tenancy_activation_link
    #   A new OCI tenancy activation link for your Amazon Web Services
    #   account.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/GetOciOnboardingStatusOutput AWS API Documentation
    #
    class GetOciOnboardingStatusOutput < Struct.new(
      :status,
      :existing_tenancy_activation_link,
      :new_tenancy_activation_link)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] odb_network_id
    #   The unique identifier of the ODB network.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/GetOdbNetworkInput AWS API Documentation
    #
    class GetOdbNetworkInput < Struct.new(
      :odb_network_id)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] odb_network
    #   The ODB network.
    #   @return [Types::OdbNetwork]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/GetOdbNetworkOutput AWS API Documentation
    #
    class GetOdbNetworkOutput < Struct.new(
      :odb_network)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] odb_peering_connection_id
    #   The unique identifier of the ODB peering connection to retrieve
    #   information about.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/GetOdbPeeringConnectionInput AWS API Documentation
    #
    class GetOdbPeeringConnectionInput < Struct.new(
      :odb_peering_connection_id)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] odb_peering_connection
    #   A peering connection between an ODB network and either another ODB
    #   network or a customer-owned VPC.
    #   @return [Types::OdbPeeringConnection]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/GetOdbPeeringConnectionOutput AWS API Documentation
    #
    class GetOdbPeeringConnectionOutput < Struct.new(
      :odb_peering_connection)
      SENSITIVE = []
      include Aws::Structure
    end

    # Information about a specific version of Oracle Grid Infrastructure
    # (GI) software that can be installed on a VM cluster.
    #
    # @!attribute [rw] version
    #   The GI software version.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/GiVersionSummary AWS API Documentation
    #
    class GiVersionSummary < Struct.new(
      :version)
      SENSITIVE = []
      include Aws::Structure
    end

    # @api private
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/InitializeServiceInput AWS API Documentation
    #
    class InitializeServiceInput < Aws::EmptyStructure; end

    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/InitializeServiceOutput AWS API Documentation
    #
    class InitializeServiceOutput < Aws::EmptyStructure; end

    # Occurs when there is an internal failure in the Oracle Database@Amazon
    # Web Services service. Wait and try again.
    #
    # @!attribute [rw] message
    #   @return [String]
    #
    # @!attribute [rw] retry_after_seconds
    #   The number of seconds to wait before retrying the request after an
    #   internal server error.
    #   @return [Integer]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/InternalServerException AWS API Documentation
    #
    class InternalServerException < Struct.new(
      :message,
      :retry_after_seconds)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] max_results
    #   The maximum number of items to return per page.
    #   @return [Integer]
    #
    # @!attribute [rw] next_token
    #   The pagination token to continue listing from.
    #   @return [String]
    #
    # @!attribute [rw] cloud_autonomous_vm_cluster_id
    #   The unique identifier of the Autonomous VM cluster whose virtual
    #   machines you're listing.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/ListAutonomousVirtualMachinesInput AWS API Documentation
    #
    class ListAutonomousVirtualMachinesInput < Struct.new(
      :max_results,
      :next_token,
      :cloud_autonomous_vm_cluster_id)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] next_token
    #   The pagination token from which to continue listing.
    #   @return [String]
    #
    # @!attribute [rw] autonomous_virtual_machines
    #   The list of Autonomous VMs in the specified Autonomous VM cluster.
    #   @return [Array<Types::AutonomousVirtualMachineSummary>]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/ListAutonomousVirtualMachinesOutput AWS API Documentation
    #
    class ListAutonomousVirtualMachinesOutput < Struct.new(
      :next_token,
      :autonomous_virtual_machines)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] max_results
    #   The maximum number of items to return per page.
    #   @return [Integer]
    #
    # @!attribute [rw] next_token
    #   The pagination token to continue listing from.
    #   @return [String]
    #
    # @!attribute [rw] cloud_exadata_infrastructure_id
    #   The unique identifier of the Cloud Exadata Infrastructure that hosts
    #   the Autonomous VM clusters to be listed.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/ListCloudAutonomousVmClustersInput AWS API Documentation
    #
    class ListCloudAutonomousVmClustersInput < Struct.new(
      :max_results,
      :next_token,
      :cloud_exadata_infrastructure_id)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] next_token
    #   The pagination token to continue listing from.
    #   @return [String]
    #
    # @!attribute [rw] cloud_autonomous_vm_clusters
    #   The list of Autonomous VM clusters in the specified Cloud Exadata
    #   Infrastructure.
    #   @return [Array<Types::CloudAutonomousVmClusterSummary>]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/ListCloudAutonomousVmClustersOutput AWS API Documentation
    #
    class ListCloudAutonomousVmClustersOutput < Struct.new(
      :next_token,
      :cloud_autonomous_vm_clusters)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] max_results
    #   The maximum number of items to return for this request. To get the
    #   next page of items, make another request with the token returned in
    #   the output.
    #
    #   Default: `10`
    #   @return [Integer]
    #
    # @!attribute [rw] next_token
    #   The token returned from a previous paginated request. Pagination
    #   continues from the end of the items returned by the previous
    #   request.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/ListCloudExadataInfrastructuresInput AWS API Documentation
    #
    class ListCloudExadataInfrastructuresInput < Struct.new(
      :max_results,
      :next_token)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] next_token
    #   The token to include in another request to get the next page of
    #   items. This value is `null` when there are no more items to return.
    #   @return [String]
    #
    # @!attribute [rw] cloud_exadata_infrastructures
    #   The list of Exadata infrastructures along with their properties.
    #   @return [Array<Types::CloudExadataInfrastructureSummary>]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/ListCloudExadataInfrastructuresOutput AWS API Documentation
    #
    class ListCloudExadataInfrastructuresOutput < Struct.new(
      :next_token,
      :cloud_exadata_infrastructures)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] max_results
    #   The maximum number of items to return for this request. To get the
    #   next page of items, make another request with the token returned in
    #   the output.
    #
    #   Default: `10`
    #   @return [Integer]
    #
    # @!attribute [rw] next_token
    #   The token returned from a previous paginated request. Pagination
    #   continues from the end of the items returned by the previous
    #   request.
    #   @return [String]
    #
    # @!attribute [rw] cloud_exadata_infrastructure_id
    #   The unique identifier of the Oracle Exadata infrastructure.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/ListCloudVmClustersInput AWS API Documentation
    #
    class ListCloudVmClustersInput < Struct.new(
      :max_results,
      :next_token,
      :cloud_exadata_infrastructure_id)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] next_token
    #   The token to include in another request to get the next page of
    #   items. This value is `null` when there are no more items to return.
    #   @return [String]
    #
    # @!attribute [rw] cloud_vm_clusters
    #   The list of VM clusters along with their properties.
    #   @return [Array<Types::CloudVmClusterSummary>]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/ListCloudVmClustersOutput AWS API Documentation
    #
    class ListCloudVmClustersOutput < Struct.new(
      :next_token,
      :cloud_vm_clusters)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] max_results
    #   The maximum number of items to return for this request. To get the
    #   next page of items, make another request with the token returned in
    #   the output.
    #
    #   Default: `10`
    #   @return [Integer]
    #
    # @!attribute [rw] next_token
    #   The token returned from a previous paginated request. Pagination
    #   continues from the end of the items returned by the previous
    #   request.
    #   @return [String]
    #
    # @!attribute [rw] cloud_vm_cluster_id
    #   The unique identifier of the VM cluster.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/ListDbNodesInput AWS API Documentation
    #
    class ListDbNodesInput < Struct.new(
      :max_results,
      :next_token,
      :cloud_vm_cluster_id)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] next_token
    #   The token to include in another request to get the next page of
    #   items. This value is `null` when there are no more items to return.
    #   @return [String]
    #
    # @!attribute [rw] db_nodes
    #   The list of DB nodes along with their properties.
    #   @return [Array<Types::DbNodeSummary>]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/ListDbNodesOutput AWS API Documentation
    #
    class ListDbNodesOutput < Struct.new(
      :next_token,
      :db_nodes)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] cloud_exadata_infrastructure_id
    #   The unique identifier of the Oracle Exadata infrastructure.
    #   @return [String]
    #
    # @!attribute [rw] max_results
    #   The maximum number of items to return for this request. To get the
    #   next page of items, make another request with the token returned in
    #   the output.
    #
    #   Default: `10`
    #   @return [Integer]
    #
    # @!attribute [rw] next_token
    #   The token returned from a previous paginated request. Pagination
    #   continues from the end of the items returned by the previous
    #   request.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/ListDbServersInput AWS API Documentation
    #
    class ListDbServersInput < Struct.new(
      :cloud_exadata_infrastructure_id,
      :max_results,
      :next_token)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] next_token
    #   The token to include in another request to get the next page of
    #   items. This value is `null` when there are no more items to return.
    #   @return [String]
    #
    # @!attribute [rw] db_servers
    #   The list of database servers along with their properties.
    #   @return [Array<Types::DbServerSummary>]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/ListDbServersOutput AWS API Documentation
    #
    class ListDbServersOutput < Struct.new(
      :next_token,
      :db_servers)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] max_results
    #   The maximum number of items to return for this request. To get the
    #   next page of items, make another request with the token returned in
    #   the output.
    #
    #   Default: `10`
    #   @return [Integer]
    #
    # @!attribute [rw] next_token
    #   The token returned from a previous paginated request. Pagination
    #   continues from the end of the items returned by the previous
    #   request.
    #   @return [String]
    #
    # @!attribute [rw] availability_zone
    #   The logical name of the AZ, for example, us-east-1a. This name
    #   varies depending on the account.
    #   @return [String]
    #
    # @!attribute [rw] availability_zone_id
    #   The physical ID of the AZ, for example, use1-az4. This ID persists
    #   across accounts.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/ListDbSystemShapesInput AWS API Documentation
    #
    class ListDbSystemShapesInput < Struct.new(
      :max_results,
      :next_token,
      :availability_zone,
      :availability_zone_id)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] next_token
    #   The token to include in another request to get the next page of
    #   items. This value is `null` when there are no more items to return.
    #   @return [String]
    #
    # @!attribute [rw] db_system_shapes
    #   The list of shapes and their properties.
    #   @return [Array<Types::DbSystemShapeSummary>]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/ListDbSystemShapesOutput AWS API Documentation
    #
    class ListDbSystemShapesOutput < Struct.new(
      :next_token,
      :db_system_shapes)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] max_results
    #   The maximum number of items to return for this request. To get the
    #   next page of items, make another request with the token returned in
    #   the output.
    #
    #   Default: `10`
    #   @return [Integer]
    #
    # @!attribute [rw] next_token
    #   The token returned from a previous paginated request. Pagination
    #   continues from the end of the items returned by the previous
    #   request.
    #   @return [String]
    #
    # @!attribute [rw] shape
    #   The shape to return GI versions for. For a list of valid shapes, use
    #   the `ListDbSystemShapes` operation..
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/ListGiVersionsInput AWS API Documentation
    #
    class ListGiVersionsInput < Struct.new(
      :max_results,
      :next_token,
      :shape)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] next_token
    #   The token to include in another request to get the next page of
    #   items. This value is `null` when there are no more items to return.
    #   @return [String]
    #
    # @!attribute [rw] gi_versions
    #   The list of GI versions and their properties.
    #   @return [Array<Types::GiVersionSummary>]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/ListGiVersionsOutput AWS API Documentation
    #
    class ListGiVersionsOutput < Struct.new(
      :next_token,
      :gi_versions)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] max_results
    #   The maximum number of items to return for this request. To get the
    #   next page of items, make another request with the token returned in
    #   the output.
    #
    #   Default: `10`
    #   @return [Integer]
    #
    # @!attribute [rw] next_token
    #   The token returned from a previous paginated request. Pagination
    #   continues from the end of the items returned by the previous
    #   request.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/ListOdbNetworksInput AWS API Documentation
    #
    class ListOdbNetworksInput < Struct.new(
      :max_results,
      :next_token)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] next_token
    #   The token to include in another request to get the next page of
    #   items. This value is `null` when there are no more items to return.
    #   @return [String]
    #
    # @!attribute [rw] odb_networks
    #   The list of ODB networks.
    #   @return [Array<Types::OdbNetworkSummary>]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/ListOdbNetworksOutput AWS API Documentation
    #
    class ListOdbNetworksOutput < Struct.new(
      :next_token,
      :odb_networks)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] max_results
    #   The maximum number of ODB peering connections to return in the
    #   response.
    #
    #   Default: `20`
    #
    #   Constraints:
    #
    #   * Must be between 1 and 100.
    #
    #   ^
    #   @return [Integer]
    #
    # @!attribute [rw] next_token
    #   The pagination token for the next page of ODB peering connections.
    #   @return [String]
    #
    # @!attribute [rw] odb_network_id
    #   The identifier of the ODB network to list peering connections for.
    #
    #   If not specified, lists all ODB peering connections in the account.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/ListOdbPeeringConnectionsInput AWS API Documentation
    #
    class ListOdbPeeringConnectionsInput < Struct.new(
      :max_results,
      :next_token,
      :odb_network_id)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] next_token
    #   The pagination token for the next page of ODB peering connections.
    #   @return [String]
    #
    # @!attribute [rw] odb_peering_connections
    #   The list of ODB peering connections.
    #   @return [Array<Types::OdbPeeringConnectionSummary>]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/ListOdbPeeringConnectionsOutput AWS API Documentation
    #
    class ListOdbPeeringConnectionsOutput < Struct.new(
      :next_token,
      :odb_peering_connections)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] max_results
    #   The maximum number of items to return for this request. To get the
    #   next page of items, make another request with the token returned in
    #   the output.
    #
    #   Default: `10`
    #   @return [Integer]
    #
    # @!attribute [rw] next_token
    #   The token returned from a previous paginated request. Pagination
    #   continues from the end of the items returned by the previous
    #   request.
    #   @return [String]
    #
    # @!attribute [rw] gi_version
    #   The software version of the Exadata Grid Infrastructure (GI).
    #   @return [String]
    #
    # @!attribute [rw] shape
    #   The Exadata hardware system model.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/ListSystemVersionsInput AWS API Documentation
    #
    class ListSystemVersionsInput < Struct.new(
      :max_results,
      :next_token,
      :gi_version,
      :shape)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] next_token
    #   The token to include in another request to get the next page of
    #   items. This value is `null` when there are no more items to return.
    #   @return [String]
    #
    # @!attribute [rw] system_versions
    #   The list of system versions.
    #   @return [Array<Types::SystemVersionSummary>]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/ListSystemVersionsOutput AWS API Documentation
    #
    class ListSystemVersionsOutput < Struct.new(
      :next_token,
      :system_versions)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] resource_arn
    #   The Amazon Resource Name (ARN) of the resource to list tags for.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/ListTagsForResourceRequest AWS API Documentation
    #
    class ListTagsForResourceRequest < Struct.new(
      :resource_arn)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] tags
    #   The list of tags applied to the resource.
    #   @return [Hash<String,String>]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/ListTagsForResourceResponse AWS API Documentation
    #
    class ListTagsForResourceResponse < Struct.new(
      :tags)
      SENSITIVE = []
      include Aws::Structure
    end

    # The scheduling details for the maintenance window. Patching and system
    # updates take place during the maintenance window.
    #
    # @!attribute [rw] custom_action_timeout_in_mins
    #   The custom action timeout in minutes for the maintenance window.
    #   @return [Integer]
    #
    # @!attribute [rw] days_of_week
    #   The days of the week when maintenance can be performed.
    #   @return [Array<Types::DayOfWeek>]
    #
    # @!attribute [rw] hours_of_day
    #   The hours of the day when maintenance can be performed.
    #   @return [Array<Integer>]
    #
    # @!attribute [rw] is_custom_action_timeout_enabled
    #   Indicates whether custom action timeout is enabled for the
    #   maintenance window.
    #   @return [Boolean]
    #
    # @!attribute [rw] lead_time_in_weeks
    #   The lead time in weeks before the maintenance window.
    #   @return [Integer]
    #
    # @!attribute [rw] months
    #   The months when maintenance can be performed.
    #   @return [Array<Types::Month>]
    #
    # @!attribute [rw] patching_mode
    #   The patching mode for the maintenance window.
    #   @return [String]
    #
    # @!attribute [rw] preference
    #   The preference for the maintenance window scheduling.
    #   @return [String]
    #
    # @!attribute [rw] skip_ru
    #   Indicates whether to skip release updates during maintenance.
    #   @return [Boolean]
    #
    # @!attribute [rw] weeks_of_month
    #   The weeks of the month when maintenance can be performed.
    #   @return [Array<Integer>]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/MaintenanceWindow AWS API Documentation
    #
    class MaintenanceWindow < Struct.new(
      :custom_action_timeout_in_mins,
      :days_of_week,
      :hours_of_day,
      :is_custom_action_timeout_enabled,
      :lead_time_in_weeks,
      :months,
      :patching_mode,
      :preference,
      :skip_ru,
      :weeks_of_month)
      SENSITIVE = []
      include Aws::Structure
    end

    # The configuration for managed Amazon S3 backup access from the ODB
    # network.
    #
    # @!attribute [rw] status
    #   The status of the managed Amazon S3 backup access.
    #
    #   Valid Values: `enabled | disabled`
    #   @return [String]
    #
    # @!attribute [rw] ipv4_addresses
    #   The IPv4 addresses for the managed Amazon S3 backup access.
    #   @return [Array<String>]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/ManagedS3BackupAccess AWS API Documentation
    #
    class ManagedS3BackupAccess < Struct.new(
      :status,
      :ipv4_addresses)
      SENSITIVE = []
      include Aws::Structure
    end

    # The managed services configuration for the ODB network.
    #
    # @!attribute [rw] service_network_arn
    #   The Amazon Resource Name (ARN) of the service network.
    #   @return [String]
    #
    # @!attribute [rw] resource_gateway_arn
    #   The Amazon Resource Name (ARN) of the resource gateway.
    #   @return [String]
    #
    # @!attribute [rw] managed_services_ipv_4_cidrs
    #   The IPv4 CIDR blocks for the managed services.
    #   @return [Array<String>]
    #
    # @!attribute [rw] service_network_endpoint
    #   The service network endpoint configuration.
    #   @return [Types::ServiceNetworkEndpoint]
    #
    # @!attribute [rw] managed_s3_backup_access
    #   The managed Amazon S3 backup access configuration.
    #   @return [Types::ManagedS3BackupAccess]
    #
    # @!attribute [rw] zero_etl_access
    #   The Zero-ETL access configuration.
    #   @return [Types::ZeroEtlAccess]
    #
    # @!attribute [rw] s3_access
    #   The Amazon S3 access configuration.
    #   @return [Types::S3Access]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/ManagedServices AWS API Documentation
    #
    class ManagedServices < Struct.new(
      :service_network_arn,
      :resource_gateway_arn,
      :managed_services_ipv_4_cidrs,
      :service_network_endpoint,
      :managed_s3_backup_access,
      :zero_etl_access,
      :s3_access)
      SENSITIVE = []
      include Aws::Structure
    end

    # An enumeration of months used for scheduling maintenance windows.
    #
    # @!attribute [rw] name
    #   The name of the month.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/Month AWS API Documentation
    #
    class Month < Struct.new(
      :name)
      SENSITIVE = []
      include Aws::Structure
    end

    # DNS configuration to forward DNS resolver endpoints to your OCI
    # Private Zone.
    #
    # @!attribute [rw] domain_name
    #   Domain name to which DNS resolver forwards to.
    #   @return [String]
    #
    # @!attribute [rw] oci_dns_listener_ip
    #   OCI DNS listener IP for custom DNS setup.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/OciDnsForwardingConfig AWS API Documentation
    #
    class OciDnsForwardingConfig < Struct.new(
      :domain_name,
      :oci_dns_listener_ip)
      SENSITIVE = []
      include Aws::Structure
    end

    # Information about an ODB network.
    #
    # @!attribute [rw] odb_network_id
    #   The unique identifier of the ODB network.
    #   @return [String]
    #
    # @!attribute [rw] display_name
    #   The user-friendly name of the ODB network.
    #   @return [String]
    #
    # @!attribute [rw] status
    #   The current status of the ODB network.
    #   @return [String]
    #
    # @!attribute [rw] status_reason
    #   Additional information about the current status of the ODB network.
    #   @return [String]
    #
    # @!attribute [rw] odb_network_arn
    #   The Amazon Resource Name (ARN) of the ODB network.
    #   @return [String]
    #
    # @!attribute [rw] availability_zone
    #   The Amazon Web Services Availability Zone (AZ) where the ODB network
    #   is located.
    #   @return [String]
    #
    # @!attribute [rw] availability_zone_id
    #   The AZ ID of the AZ where the ODB network is located.
    #   @return [String]
    #
    # @!attribute [rw] client_subnet_cidr
    #   The CIDR range of the client subnet in the ODB network.
    #   @return [String]
    #
    # @!attribute [rw] backup_subnet_cidr
    #   The CIDR range of the backup subnet in the ODB network.
    #   @return [String]
    #
    # @!attribute [rw] custom_domain_name
    #   The domain name for the resources in the ODB network.
    #   @return [String]
    #
    # @!attribute [rw] default_dns_prefix
    #   The DNS prefix to the default DNS domain name. The default DNS
    #   domain name is oraclevcn.com.
    #   @return [String]
    #
    # @!attribute [rw] peered_cidrs
    #   The list of CIDR ranges from the peered VPC that are allowed access
    #   to the ODB network.
    #   @return [Array<String>]
    #
    # @!attribute [rw] oci_network_anchor_id
    #   The unique identifier of the OCI network anchor for the ODB network.
    #   @return [String]
    #
    # @!attribute [rw] oci_network_anchor_url
    #   The URL of the OCI network anchor for the ODB network.
    #   @return [String]
    #
    # @!attribute [rw] oci_resource_anchor_name
    #   The name of the OCI resource anchor that's associated with the ODB
    #   network.
    #   @return [String]
    #
    # @!attribute [rw] oci_vcn_id
    #   The Oracle Cloud ID (OCID) for the Virtual Cloud Network (VCN)
    #   that's associated with the ODB network.
    #   @return [String]
    #
    # @!attribute [rw] oci_vcn_url
    #   The URL for the VCN that's associated with the ODB network.
    #   @return [String]
    #
    # @!attribute [rw] oci_dns_forwarding_configs
    #   The DNS resolver endpoint in OCI for forwarding DNS queries for the
    #   ociPrivateZone domain.
    #   @return [Array<Types::OciDnsForwardingConfig>]
    #
    # @!attribute [rw] created_at
    #   The date and time when the ODB network was created.
    #   @return [Time]
    #
    # @!attribute [rw] percent_progress
    #   The amount of progress made on the current operation on the ODB
    #   network, expressed as a percentage.
    #   @return [Float]
    #
    # @!attribute [rw] managed_services
    #   The managed services configuration for the ODB network.
    #   @return [Types::ManagedServices]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/OdbNetwork AWS API Documentation
    #
    class OdbNetwork < Struct.new(
      :odb_network_id,
      :display_name,
      :status,
      :status_reason,
      :odb_network_arn,
      :availability_zone,
      :availability_zone_id,
      :client_subnet_cidr,
      :backup_subnet_cidr,
      :custom_domain_name,
      :default_dns_prefix,
      :peered_cidrs,
      :oci_network_anchor_id,
      :oci_network_anchor_url,
      :oci_resource_anchor_name,
      :oci_vcn_id,
      :oci_vcn_url,
      :oci_dns_forwarding_configs,
      :created_at,
      :percent_progress,
      :managed_services)
      SENSITIVE = []
      include Aws::Structure
    end

    # Information about an ODB network.
    #
    # @!attribute [rw] odb_network_id
    #   The unique identifier of the ODB network.
    #   @return [String]
    #
    # @!attribute [rw] display_name
    #   The user-friendly name of the ODB network.
    #   @return [String]
    #
    # @!attribute [rw] status
    #   The current status of the ODB network.
    #   @return [String]
    #
    # @!attribute [rw] status_reason
    #   Additional information about the current status of the ODB network.
    #   @return [String]
    #
    # @!attribute [rw] odb_network_arn
    #   The Amazon Resource Name (ARN) of the ODB network.
    #   @return [String]
    #
    # @!attribute [rw] availability_zone
    #   The Amazon Web Services Availability Zone (AZ) where the ODB network
    #   is located.
    #   @return [String]
    #
    # @!attribute [rw] availability_zone_id
    #   The AZ ID of the AZ where the ODB network is located.
    #   @return [String]
    #
    # @!attribute [rw] client_subnet_cidr
    #   The CIDR range of the client subnet in the ODB network.
    #   @return [String]
    #
    # @!attribute [rw] backup_subnet_cidr
    #   The CIDR range of the backup subnet in the ODB network.
    #   @return [String]
    #
    # @!attribute [rw] custom_domain_name
    #   The domain name for the resources in the ODB network.
    #   @return [String]
    #
    # @!attribute [rw] default_dns_prefix
    #   The DNS prefix to the default DNS domain name. The default DNS
    #   domain name is oraclevcn.com.
    #   @return [String]
    #
    # @!attribute [rw] peered_cidrs
    #   The list of CIDR ranges from the peered VPC that are allowed access
    #   to the ODB network.
    #   @return [Array<String>]
    #
    # @!attribute [rw] oci_network_anchor_id
    #   The unique identifier of the OCI network anchor for the ODB network.
    #   @return [String]
    #
    # @!attribute [rw] oci_network_anchor_url
    #   The URL of the OCI network anchor for the ODB network.
    #   @return [String]
    #
    # @!attribute [rw] oci_resource_anchor_name
    #   The name of the OCI resource anchor associated with the ODB network.
    #   @return [String]
    #
    # @!attribute [rw] oci_vcn_id
    #   The Oracle Cloud ID (OCID) for the Virtual Cloud Network (VCN)
    #   associated with the ODB network.
    #   @return [String]
    #
    # @!attribute [rw] oci_vcn_url
    #   The URL for the VCN that's associated with the ODB network.
    #   @return [String]
    #
    # @!attribute [rw] oci_dns_forwarding_configs
    #   The DNS resolver endpoint in OCI for forwarding DNS queries for the
    #   ociPrivateZone domain.
    #   @return [Array<Types::OciDnsForwardingConfig>]
    #
    # @!attribute [rw] created_at
    #   The date and time when the ODB network was created.
    #   @return [Time]
    #
    # @!attribute [rw] percent_progress
    #   The amount of progress made on the current operation on the ODB
    #   network, expressed as a percentage.
    #   @return [Float]
    #
    # @!attribute [rw] managed_services
    #   The managed services configuration for the ODB network.
    #   @return [Types::ManagedServices]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/OdbNetworkSummary AWS API Documentation
    #
    class OdbNetworkSummary < Struct.new(
      :odb_network_id,
      :display_name,
      :status,
      :status_reason,
      :odb_network_arn,
      :availability_zone,
      :availability_zone_id,
      :client_subnet_cidr,
      :backup_subnet_cidr,
      :custom_domain_name,
      :default_dns_prefix,
      :peered_cidrs,
      :oci_network_anchor_id,
      :oci_network_anchor_url,
      :oci_resource_anchor_name,
      :oci_vcn_id,
      :oci_vcn_url,
      :oci_dns_forwarding_configs,
      :created_at,
      :percent_progress,
      :managed_services)
      SENSITIVE = []
      include Aws::Structure
    end

    # A peering connection between an ODB network and either another ODB
    # network or a customer-owned VPC.
    #
    # @!attribute [rw] odb_peering_connection_id
    #   The unique identifier of the ODB peering connection. A sample ID is
    #   `odbpcx-abcdefgh12345678`.
    #   @return [String]
    #
    # @!attribute [rw] display_name
    #   The display name of the ODB peering connection.
    #   @return [String]
    #
    # @!attribute [rw] status
    #   The status of the ODB peering connection.
    #
    #   Valid Values: `provisioning | active | terminating | terminated |
    #   failed`
    #   @return [String]
    #
    # @!attribute [rw] status_reason
    #   The reason for the current status of the ODB peering connection.
    #   @return [String]
    #
    # @!attribute [rw] odb_peering_connection_arn
    #   The Amazon Resource Name (ARN) of the ODB peering connection.
    #
    #   Example:
    #   `arn:aws:odb:us-east-1:123456789012:odb-peering-connection/odbpcx-abcdefgh12345678`
    #   @return [String]
    #
    # @!attribute [rw] odb_network_arn
    #   The Amazon Resource Name (ARN) of the ODB network that initiated the
    #   peering connection.
    #   @return [String]
    #
    # @!attribute [rw] peer_network_arn
    #   The Amazon Resource Name (ARN) of the peer network.
    #   @return [String]
    #
    # @!attribute [rw] odb_peering_connection_type
    #   The type of the ODB peering connection.
    #
    #   Valid Values: `ODB-VPC | ODB-ODB`
    #   @return [String]
    #
    # @!attribute [rw] peer_network_cidrs
    #   The CIDR blocks associated with the peering connection. These CIDR
    #   blocks define the IP address ranges that can communicate through the
    #   peering connection.
    #   @return [Array<String>]
    #
    # @!attribute [rw] created_at
    #   The timestamp when the ODB peering connection was created.
    #   @return [Time]
    #
    # @!attribute [rw] percent_progress
    #   The percentage progress of the ODB peering connection creation or
    #   deletion.
    #   @return [Float]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/OdbPeeringConnection AWS API Documentation
    #
    class OdbPeeringConnection < Struct.new(
      :odb_peering_connection_id,
      :display_name,
      :status,
      :status_reason,
      :odb_peering_connection_arn,
      :odb_network_arn,
      :peer_network_arn,
      :odb_peering_connection_type,
      :peer_network_cidrs,
      :created_at,
      :percent_progress)
      SENSITIVE = []
      include Aws::Structure
    end

    # A summary of an ODB peering connection.
    #
    # @!attribute [rw] odb_peering_connection_id
    #   The unique identifier of the ODB peering connection. A sample ID is
    #   `odbpcx-abcdefgh12345678`.
    #   @return [String]
    #
    # @!attribute [rw] display_name
    #   The display name of the ODB peering connection.
    #   @return [String]
    #
    # @!attribute [rw] status
    #   The status of the ODB peering connection.
    #
    #   Valid Values: `provisioning | active | terminating | terminated |
    #   failed`
    #   @return [String]
    #
    # @!attribute [rw] status_reason
    #   The reason for the current status of the ODB peering connection.
    #   @return [String]
    #
    # @!attribute [rw] odb_peering_connection_arn
    #   The Amazon Resource Name (ARN) of the ODB peering connection.
    #   @return [String]
    #
    # @!attribute [rw] odb_network_arn
    #   The Amazon Resource Name (ARN) of the ODB network that initiated the
    #   peering connection.
    #   @return [String]
    #
    # @!attribute [rw] peer_network_arn
    #   The Amazon Resource Name (ARN) of the peer network.
    #   @return [String]
    #
    # @!attribute [rw] odb_peering_connection_type
    #   The type of the ODB peering connection.
    #
    #   Valid Values: `ODB-VPC | ODB-ODB`
    #   @return [String]
    #
    # @!attribute [rw] peer_network_cidrs
    #   The CIDR blocks associated with the peering connection. These CIDR
    #   blocks define the IP address ranges that can communicate through the
    #   peering connection.
    #   @return [Array<String>]
    #
    # @!attribute [rw] created_at
    #   The timestamp when the ODB peering connection was created.
    #   @return [Time]
    #
    # @!attribute [rw] percent_progress
    #   The percentage progress of the ODB peering connection creation or
    #   deletion.
    #   @return [Float]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/OdbPeeringConnectionSummary AWS API Documentation
    #
    class OdbPeeringConnectionSummary < Struct.new(
      :odb_peering_connection_id,
      :display_name,
      :status,
      :status_reason,
      :odb_peering_connection_arn,
      :odb_network_arn,
      :peer_network_arn,
      :odb_peering_connection_type,
      :peer_network_cidrs,
      :created_at,
      :percent_progress)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] cloud_vm_cluster_id
    #   The unique identifier of the VM cluster that contains the DB node to
    #   reboot.
    #   @return [String]
    #
    # @!attribute [rw] db_node_id
    #   The unique identifier of the DB node to reboot.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/RebootDbNodeInput AWS API Documentation
    #
    class RebootDbNodeInput < Struct.new(
      :cloud_vm_cluster_id,
      :db_node_id)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] db_node_id
    #   The unique identifier of the DB node that was rebooted.
    #   @return [String]
    #
    # @!attribute [rw] status
    #   The current status of the DB node after the reboot operation.
    #   @return [String]
    #
    # @!attribute [rw] status_reason
    #   Additional information about the status of the DB node after the
    #   reboot operation.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/RebootDbNodeOutput AWS API Documentation
    #
    class RebootDbNodeOutput < Struct.new(
      :db_node_id,
      :status,
      :status_reason)
      SENSITIVE = []
      include Aws::Structure
    end

    # The operation tried to access a resource that doesn't exist. Make
    # sure you provided the correct resource and try again.
    #
    # @!attribute [rw] message
    #   @return [String]
    #
    # @!attribute [rw] resource_id
    #   The identifier of the resource that was not found.
    #   @return [String]
    #
    # @!attribute [rw] resource_type
    #   The type of resource that was not found.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/ResourceNotFoundException AWS API Documentation
    #
    class ResourceNotFoundException < Struct.new(
      :message,
      :resource_id,
      :resource_type)
      SENSITIVE = []
      include Aws::Structure
    end

    # The configuration for Amazon S3 access from the ODB network.
    #
    # @!attribute [rw] status
    #   The status of the Amazon S3 access.
    #
    #   Valid Values: `enabled | disabled`
    #   @return [String]
    #
    # @!attribute [rw] ipv4_addresses
    #   The IPv4 addresses for the Amazon S3 access.
    #   @return [Array<String>]
    #
    # @!attribute [rw] domain_name
    #   The domain name for the Amazon S3 access.
    #   @return [String]
    #
    # @!attribute [rw] s3_policy_document
    #   The endpoint policy for the Amazon S3 access.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/S3Access AWS API Documentation
    #
    class S3Access < Struct.new(
      :status,
      :ipv4_addresses,
      :domain_name,
      :s3_policy_document)
      SENSITIVE = []
      include Aws::Structure
    end

    # The configuration for a service network endpoint.
    #
    # @!attribute [rw] vpc_endpoint_id
    #   The identifier of the VPC endpoint.
    #   @return [String]
    #
    # @!attribute [rw] vpc_endpoint_type
    #   The type of the VPC endpoint.
    #
    #   Valid Values: `Interface | Gateway`
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/ServiceNetworkEndpoint AWS API Documentation
    #
    class ServiceNetworkEndpoint < Struct.new(
      :vpc_endpoint_id,
      :vpc_endpoint_type)
      SENSITIVE = []
      include Aws::Structure
    end

    # You have exceeded the service quota.
    #
    # @!attribute [rw] message
    #   @return [String]
    #
    # @!attribute [rw] resource_id
    #   The identifier of the resource that exceeded the service quota.
    #   @return [String]
    #
    # @!attribute [rw] resource_type
    #   The type of resource that exceeded the service quota.
    #   @return [String]
    #
    # @!attribute [rw] quota_code
    #   The unqiue identifier of the service quota that was exceeded.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/ServiceQuotaExceededException AWS API Documentation
    #
    class ServiceQuotaExceededException < Struct.new(
      :message,
      :resource_id,
      :resource_type,
      :quota_code)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] cloud_vm_cluster_id
    #   The unique identifier of the VM cluster that contains the DB node to
    #   start.
    #   @return [String]
    #
    # @!attribute [rw] db_node_id
    #   The unique identifier of the DB node to start.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/StartDbNodeInput AWS API Documentation
    #
    class StartDbNodeInput < Struct.new(
      :cloud_vm_cluster_id,
      :db_node_id)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] db_node_id
    #   The unique identifier of the DB node that was started.
    #   @return [String]
    #
    # @!attribute [rw] status
    #   The current status of the DB node after the start operation.
    #   @return [String]
    #
    # @!attribute [rw] status_reason
    #   Additional information about the status of the DB node after the
    #   start operation.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/StartDbNodeOutput AWS API Documentation
    #
    class StartDbNodeOutput < Struct.new(
      :db_node_id,
      :status,
      :status_reason)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] cloud_vm_cluster_id
    #   The unique identifier of the VM cluster that contains the DB node to
    #   stop.
    #   @return [String]
    #
    # @!attribute [rw] db_node_id
    #   The unique identifier of the DB node to stop.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/StopDbNodeInput AWS API Documentation
    #
    class StopDbNodeInput < Struct.new(
      :cloud_vm_cluster_id,
      :db_node_id)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] db_node_id
    #   The unique identifier of the DB node that was stopped.
    #   @return [String]
    #
    # @!attribute [rw] status
    #   The current status of the DB node after the stop operation.
    #   @return [String]
    #
    # @!attribute [rw] status_reason
    #   Additional information about the status of the DB node after the
    #   stop operation.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/StopDbNodeOutput AWS API Documentation
    #
    class StopDbNodeOutput < Struct.new(
      :db_node_id,
      :status,
      :status_reason)
      SENSITIVE = []
      include Aws::Structure
    end

    # Information about the compatible system versions that can be used with
    # a specific Exadata shape and Grid Infrastructure (GI) version.
    #
    # @!attribute [rw] gi_version
    #   The version of GI software.
    #   @return [String]
    #
    # @!attribute [rw] shape
    #   The Exadata hardware model.
    #   @return [String]
    #
    # @!attribute [rw] system_versions
    #   The Exadata system versions that are compatible with the specified
    #   Exadata shape and GI version.
    #   @return [Array<String>]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/SystemVersionSummary AWS API Documentation
    #
    class SystemVersionSummary < Struct.new(
      :gi_version,
      :shape,
      :system_versions)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] resource_arn
    #   The Amazon Resource Name (ARN) of the resource to apply tags to.
    #   @return [String]
    #
    # @!attribute [rw] tags
    #   The list of tags to apply to the resource.
    #   @return [Hash<String,String>]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/TagResourceRequest AWS API Documentation
    #
    class TagResourceRequest < Struct.new(
      :resource_arn,
      :tags)
      SENSITIVE = []
      include Aws::Structure
    end

    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/TagResourceResponse AWS API Documentation
    #
    class TagResourceResponse < Aws::EmptyStructure; end

    # The request was denied due to request throttling.
    #
    # @!attribute [rw] message
    #   @return [String]
    #
    # @!attribute [rw] retry_after_seconds
    #   The number of seconds to wait before retrying the request after
    #   being throttled.
    #   @return [Integer]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/ThrottlingException AWS API Documentation
    #
    class ThrottlingException < Struct.new(
      :message,
      :retry_after_seconds)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] resource_arn
    #   The Amazon Resource Name (ARN) of the resource to remove tags from.
    #   @return [String]
    #
    # @!attribute [rw] tag_keys
    #   The names (keys) of the tags to remove from the resource.
    #   @return [Array<String>]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/UntagResourceRequest AWS API Documentation
    #
    class UntagResourceRequest < Struct.new(
      :resource_arn,
      :tag_keys)
      SENSITIVE = []
      include Aws::Structure
    end

    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/UntagResourceResponse AWS API Documentation
    #
    class UntagResourceResponse < Aws::EmptyStructure; end

    # @!attribute [rw] cloud_exadata_infrastructure_id
    #   The unique identifier of the Exadata infrastructure to update.
    #   @return [String]
    #
    # @!attribute [rw] maintenance_window
    #   The scheduling details for the maintenance window. Patching and
    #   system updates take place during the maintenance window.
    #   @return [Types::MaintenanceWindow]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/UpdateCloudExadataInfrastructureInput AWS API Documentation
    #
    class UpdateCloudExadataInfrastructureInput < Struct.new(
      :cloud_exadata_infrastructure_id,
      :maintenance_window)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] display_name
    #   The user-friendly name of the updated Exadata infrastructure.
    #   @return [String]
    #
    # @!attribute [rw] status
    #   The current status of the Exadata infrastructure after the update
    #   operation.
    #   @return [String]
    #
    # @!attribute [rw] status_reason
    #   Additional information about the status of the Exadata
    #   infrastructure after the update operation.
    #   @return [String]
    #
    # @!attribute [rw] cloud_exadata_infrastructure_id
    #   The unique identifier of the updated Exadata infrastructure.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/UpdateCloudExadataInfrastructureOutput AWS API Documentation
    #
    class UpdateCloudExadataInfrastructureOutput < Struct.new(
      :display_name,
      :status,
      :status_reason,
      :cloud_exadata_infrastructure_id)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] odb_network_id
    #   The unique identifier of the ODB network to update.
    #   @return [String]
    #
    # @!attribute [rw] display_name
    #   The new user-friendly name of the ODB network.
    #   @return [String]
    #
    # @!attribute [rw] peered_cidrs_to_be_added
    #   The list of CIDR ranges from the peered VPC that allow access to the
    #   ODB network.
    #   @return [Array<String>]
    #
    # @!attribute [rw] peered_cidrs_to_be_removed
    #   The list of CIDR ranges from the peered VPC to remove from the ODB
    #   network.
    #   @return [Array<String>]
    #
    # @!attribute [rw] s3_access
    #   Specifies the updated configuration for Amazon S3 access from the
    #   ODB network.
    #   @return [String]
    #
    # @!attribute [rw] zero_etl_access
    #   Specifies the updated configuration for Zero-ETL access from the ODB
    #   network.
    #   @return [String]
    #
    # @!attribute [rw] s3_policy_document
    #   Specifies the updated endpoint policy for Amazon S3 access from the
    #   ODB network.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/UpdateOdbNetworkInput AWS API Documentation
    #
    class UpdateOdbNetworkInput < Struct.new(
      :odb_network_id,
      :display_name,
      :peered_cidrs_to_be_added,
      :peered_cidrs_to_be_removed,
      :s3_access,
      :zero_etl_access,
      :s3_policy_document)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] display_name
    #   The user-friendly name of the ODB network.
    #   @return [String]
    #
    # @!attribute [rw] status
    #   The current status of the ODB network.
    #   @return [String]
    #
    # @!attribute [rw] status_reason
    #   Additional information about the status of the ODB network.
    #   @return [String]
    #
    # @!attribute [rw] odb_network_id
    #   The unique identifier of the ODB network.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/UpdateOdbNetworkOutput AWS API Documentation
    #
    class UpdateOdbNetworkOutput < Struct.new(
      :display_name,
      :status,
      :status_reason,
      :odb_network_id)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] odb_peering_connection_id
    #   The identifier of the Oracle Database@Amazon Web Services peering
    #   connection to update.
    #   @return [String]
    #
    # @!attribute [rw] display_name
    #   A new display name for the peering connection.
    #   @return [String]
    #
    # @!attribute [rw] peer_network_cidrs_to_be_added
    #   A list of CIDR blocks to add to the peering connection. These CIDR
    #   blocks define the IP address ranges that can communicate through the
    #   peering connection. The CIDR blocks must not overlap with existing
    #   CIDR blocks in the Oracle Database@Amazon Web Services network.
    #   @return [Array<String>]
    #
    # @!attribute [rw] peer_network_cidrs_to_be_removed
    #   A list of CIDR blocks to remove from the peering connection. The
    #   CIDR blocks must currently exist in the peering connection.
    #   @return [Array<String>]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/UpdateOdbPeeringConnectionInput AWS API Documentation
    #
    class UpdateOdbPeeringConnectionInput < Struct.new(
      :odb_peering_connection_id,
      :display_name,
      :peer_network_cidrs_to_be_added,
      :peer_network_cidrs_to_be_removed)
      SENSITIVE = []
      include Aws::Structure
    end

    # @!attribute [rw] display_name
    #   The display name of the peering connection.
    #   @return [String]
    #
    # @!attribute [rw] status
    #   The status of the peering connection update operation.
    #   @return [String]
    #
    # @!attribute [rw] status_reason
    #   Additional information about the status of the peering connection
    #   update operation.
    #   @return [String]
    #
    # @!attribute [rw] odb_peering_connection_id
    #   The identifier of the Oracle Database@Amazon Web Services peering
    #   connection that was updated.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/UpdateOdbPeeringConnectionOutput AWS API Documentation
    #
    class UpdateOdbPeeringConnectionOutput < Struct.new(
      :display_name,
      :status,
      :status_reason,
      :odb_peering_connection_id)
      SENSITIVE = []
      include Aws::Structure
    end

    # The request has failed validation because it is missing required
    # fields or has invalid inputs.
    #
    # @!attribute [rw] message
    #   @return [String]
    #
    # @!attribute [rw] reason
    #   The reason why the validation failed.
    #   @return [String]
    #
    # @!attribute [rw] field_list
    #   A list of fields that failed validation.
    #   @return [Array<Types::ValidationExceptionField>]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/ValidationException AWS API Documentation
    #
    class ValidationException < Struct.new(
      :message,
      :reason,
      :field_list)
      SENSITIVE = []
      include Aws::Structure
    end

    # The input failed to meet the constraints specified by the service in a
    # specified field. Make sure you provided the correct input and try
    # again.
    #
    # @!attribute [rw] name
    #   The field name for which validation failed.
    #   @return [String]
    #
    # @!attribute [rw] message
    #   The description of the error.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/ValidationExceptionField AWS API Documentation
    #
    class ValidationExceptionField < Struct.new(
      :name,
      :message)
      SENSITIVE = []
      include Aws::Structure
    end

    # The configuration for Zero-ETL access from the ODB network.
    #
    # @!attribute [rw] status
    #   The status of the Zero-ETL access.
    #
    #   Valid Values: `enabled | disabled`
    #   @return [String]
    #
    # @!attribute [rw] cidr
    #   The CIDR block for the Zero-ETL access.
    #   @return [String]
    #
    # @see http://docs.aws.amazon.com/goto/WebAPI/odb-2024-08-20/ZeroEtlAccess AWS API Documentation
    #
    class ZeroEtlAccess < Struct.new(
      :status,
      :cidr)
      SENSITIVE = []
      include Aws::Structure
    end

  end
end

