Skip to content

create_cloud_exadata_infrastructure async

create_cloud_exadata_infrastructure(
    display_name: ResourceDisplayName,
    shape: GeneralInputString,
    compute_count: int,
    storage_count: int,
    *,
    config_overrides: Optional[AsyncodbClientConfig] = None,
    availability_zone: Optional[str] = None,
    availability_zone_id: Optional[str] = None,
    tags: Optional[RequestTagMap] = None,
    customer_contacts_to_send_to_oci: Optional[CustomerContacts] = None,
    maintenance_window: Optional[MaintenanceWindow] = None,
    client_token: Optional[GeneralInputString] = None,
    database_server_type: Optional[GeneralInputString] = None,
    storage_server_type: Optional[GeneralInputString] = None,
) -> CreateCloudExadataInfrastructureOutput

Creates an Exadata infrastructure.

Parameters:

  • display_name (ResourceDisplayName) –

    A user-friendly name for the Exadata infrastructure.

  • shape (GeneralInputString) –

    The model name of the Exadata infrastructure. For the list of valid model names, use the ListDbSystemShapes operation.

  • availability_zone (Optional[str], default: None ) –

    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

  • availability_zone_id (Optional[str], default: None ) –

    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

  • tags (Optional[RequestTagMap], default: None ) –

    The list of resource tags to apply to the Exadata infrastructure.

  • compute_count (int) –

    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.

  • customer_contacts_to_send_to_oci (Optional[CustomerContacts], default: None ) –

    The email addresses of contacts to receive notification from Oracle about maintenance updates for the Exadata infrastructure.

  • maintenance_window (Optional[MaintenanceWindow], default: None ) –

    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.

  • storage_count (int) –

    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.

  • client_token (Optional[GeneralInputString], default: None ) –

    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.

  • database_server_type (Optional[GeneralInputString], default: None ) –

    The database server model type of the Exadata infrastructure. For the list of valid model names, use the ListDbSystemShapes operation.

  • storage_server_type (Optional[GeneralInputString], default: None ) –

    The storage server model type of the Exadata infrastructure. For the list of valid model names, use the ListDbSystemShapes operation.

Raises:

  • AccessDeniedException –

    You don't have sufficient access to perform this action. Make sure you have the required permissions and try again.

  • ConflictException –

    Occurs when a conflict with the current status of your resource. Fix any inconsistencies with your resource and try again.

  • InternalServerException –

    Occurs when there is an internal failure in the Oracle Database@Amazon Web Services service. Wait and try again.

  • ServiceQuotaExceededException –

    You have exceeded the service quota.

  • ThrottlingException –

    The request was denied due to request throttling.

  • ValidationException –

    The request has failed validation because it is missing required fields or has invalid inputs.

  • UnknownServiceError –

    The service returned an error code this client does not model.

Source code in docs_src/capo_odb/_services/async_odb.py
async def create_cloud_exadata_infrastructure(
    self,
    display_name: "capo_odb.types.resource_display_name.ResourceDisplayName",
    shape: "capo_odb.types.general_input_string.GeneralInputString",
    compute_count: int,
    storage_count: int,
    *,
    config_overrides: Optional[AsyncodbClientConfig] = None,
    availability_zone: Optional[str] = None,
    availability_zone_id: Optional[str] = None,
    tags: Optional["capo_odb.types.request_tag_map.RequestTagMap"] = None,
    customer_contacts_to_send_to_oci: Optional[
        "capo_odb.types.customer_contacts.CustomerContacts"
    ] = None,
    maintenance_window: Optional[
        "capo_odb.types.maintenance_window.MaintenanceWindow"
    ] = None,
    client_token: Optional[
        "capo_odb.types.general_input_string.GeneralInputString"
    ] = None,
    database_server_type: Optional[
        "capo_odb.types.general_input_string.GeneralInputString"
    ] = None,
    storage_server_type: Optional[
        "capo_odb.types.general_input_string.GeneralInputString"
    ] = None,
) -> "capo_odb.types.create_cloud_exadata_infrastructure_output.CreateCloudExadataInfrastructureOutput":
    """<p>Creates an Exadata infrastructure.</p>

    Args:
        display_name: <p>A user-friendly name for the Exadata infrastructure.</p>
        shape: <p>The model name of the Exadata infrastructure. For the list of valid model names, use the <code>ListDbSystemShapes</code> operation.</p>
        availability_zone: <p>The name of the Availability Zone (AZ) where the Exadata infrastructure is located.</p> <p>This operation requires that you specify a value for either <code>availabilityZone</code> or <code>availabilityZoneId</code>.</p> <p>Example: <code>us-east-1a</code> </p>
        availability_zone_id: <p>The AZ ID of the AZ where the Exadata infrastructure is located.</p> <p>This operation requires that you specify a value for either <code>availabilityZone</code> or <code>availabilityZoneId</code>.</p> <p>Example: <code>use1-az1</code> </p>
        tags: <p>The list of resource tags to apply to the Exadata infrastructure.</p>
        compute_count: <p>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 <code>ListDbSystemShapes</code> operation.</p>
        customer_contacts_to_send_to_oci: <p>The email addresses of contacts to receive notification from Oracle about maintenance updates for the Exadata infrastructure.</p>
        maintenance_window: <p>The maintenance window configuration for the Exadata Cloud infrastructure.</p> <p>This allows you to define when maintenance operations such as patching and updates can be performed on the infrastructure.</p>
        storage_count: <p>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 <code>ListDbSystemShapes</code> operation.</p>
        client_token: <p>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.</p>
        database_server_type: <p>The database server model type of the Exadata infrastructure. For the list of valid model names, use the <code>ListDbSystemShapes</code> operation.</p>
        storage_server_type: <p>The storage server model type of the Exadata infrastructure. For the list of valid model names, use the <code>ListDbSystemShapes</code> operation.</p>

    Raises:
        capo_odb.errors.access_denied_exception.AccessDeniedException: <p>You don't have sufficient access to perform this action. Make sure you have the required permissions and try again.</p>
        capo_odb.errors.conflict_exception.ConflictException: <p>Occurs when a conflict with the current status of your resource. Fix any inconsistencies with your resource and try again.</p>
        capo_odb.errors.internal_server_exception.InternalServerException: <p>Occurs when there is an internal failure in the Oracle Database@Amazon Web Services service. Wait and try again.</p>
        capo_odb.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>You have exceeded the service quota.</p>
        capo_odb.errors.throttling_exception.ThrottlingException: <p>The request was denied due to request throttling.</p>
        capo_odb.errors.validation_exception.ValidationException: <p>The request has failed validation because it is missing required fields or has invalid inputs.</p>
        capo_odb.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_odb.types.create_cloud_exadata_infrastructure_input.CreateCloudExadataInfrastructureInput]",
    ) -> AsyncOperationResponse[
        "capo_odb.types.create_cloud_exadata_infrastructure_output.CreateCloudExadataInfrastructureOutput"
    ]:
        import capo_odb._operations.odb.create_cloud_exadata_infrastructure

        (
            output,
            http_response,
        ) = await capo_odb._operations.odb.create_cloud_exadata_infrastructure.async_create_cloud_exadata_infrastructure(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_odb.types.create_cloud_exadata_infrastructure_input.CreateCloudExadataInfrastructureInput",
    ) -> dict[str, Any]:
        import capo_odb.types.create_cloud_exadata_infrastructure_input

        return capo_odb.types.create_cloud_exadata_infrastructure_input.redact_sensitive(
            input_
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging(
            "CreateCloudExadataInfrastructure", redact_input=_redact_input
        ),
    )
    input_: capo_odb.types.create_cloud_exadata_infrastructure_input.CreateCloudExadataInfrastructureInput = {
        "display_name": display_name,
        "shape": shape,
        "compute_count": compute_count,
        "storage_count": storage_count,
    }
    if availability_zone is not None:
        input_["availability_zone"] = availability_zone
    if availability_zone_id is not None:
        input_["availability_zone_id"] = availability_zone_id
    if tags is not None:
        input_["tags"] = tags
    if customer_contacts_to_send_to_oci is not None:
        input_["customer_contacts_to_send_to_oci"] = (
            customer_contacts_to_send_to_oci
        )
    if maintenance_window is not None:
        input_["maintenance_window"] = maintenance_window
    if client_token is None:
        client_token = str(uuid.uuid4())
    input_["client_token"] = client_token
    if database_server_type is not None:
        input_["database_server_type"] = database_server_type
    if storage_server_type is not None:
        input_["storage_server_type"] = storage_server_type

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output