All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.gcp.oracledatabase.kotlin.CloudExadataInfrastructure.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 8.20.1.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.oracledatabase.kotlin

import com.pulumi.core.Output
import com.pulumi.gcp.oracledatabase.kotlin.outputs.CloudExadataInfrastructureProperties
import com.pulumi.gcp.oracledatabase.kotlin.outputs.CloudExadataInfrastructureProperties.Companion.toKotlin
import com.pulumi.kotlin.KotlinCustomResource
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.ResourceMapper
import com.pulumi.kotlin.options.CustomResourceOptions
import com.pulumi.kotlin.options.CustomResourceOptionsBuilder
import com.pulumi.resources.Resource
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.Map

/**
 * Builder for [CloudExadataInfrastructure].
 */
@PulumiTagMarker
public class CloudExadataInfrastructureResourceBuilder internal constructor() {
    public var name: String? = null

    public var args: CloudExadataInfrastructureArgs = CloudExadataInfrastructureArgs()

    public var opts: CustomResourceOptions = CustomResourceOptions()

    /**
     * @param name The _unique_ name of the resulting resource.
     */
    public fun name(`value`: String) {
        this.name = value
    }

    /**
     * @param block The arguments to use to populate this resource's properties.
     */
    public suspend fun args(block: suspend CloudExadataInfrastructureArgsBuilder.() -> Unit) {
        val builder = CloudExadataInfrastructureArgsBuilder()
        block(builder)
        this.args = builder.build()
    }

    /**
     * @param block A bag of options that control this resource's behavior.
     */
    public suspend fun opts(block: suspend CustomResourceOptionsBuilder.() -> Unit) {
        this.opts = com.pulumi.kotlin.options.CustomResourceOptions.opts(block)
    }

    internal fun build(): CloudExadataInfrastructure {
        val builtJavaResource =
            com.pulumi.gcp.oracledatabase.CloudExadataInfrastructure(
                this.name,
                this.args.toJava(),
                this.opts.toJava(),
            )
        return CloudExadataInfrastructure(builtJavaResource)
    }
}

/**
 * A CloudExadataInfrastructure resource.
 * To get more information about CloudExadataInfrastructure, see:
 * * [API documentation](https://cloud.google.com/oracle/database/docs/reference/rest/v1/projects.locations.cloudExadataInfrastructures)
 * * How-to Guides
 *     * [Create Exadata Infrastructure instances](https://cloud.google.com/oracle/database/docs/create-instances)
 * ## Example Usage
 * ### Oracledatabase Cloud Exadata Infrastructure Basic
 * 
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 * const my_cloud_exadata = new gcp.oracledatabase.CloudExadataInfrastructure("my-cloud-exadata", {
 *     cloudExadataInfrastructureId: "my-instance",
 *     displayName: "my-instance displayname",
 *     location: "us-east4",
 *     project: "my-project",
 *     properties: {
 *         shape: "Exadata.X9M",
 *         computeCount: 2,
 *         storageCount: 3,
 *     },
 *     deletionProtection: true,
 * });
 * ```
 * ```python
 * import pulumi
 * import pulumi_gcp as gcp
 * my_cloud_exadata = gcp.oracledatabase.CloudExadataInfrastructure("my-cloud-exadata",
 *     cloud_exadata_infrastructure_id="my-instance",
 *     display_name="my-instance displayname",
 *     location="us-east4",
 *     project="my-project",
 *     properties={
 *         "shape": "Exadata.X9M",
 *         "compute_count": 2,
 *         "storage_count": 3,
 *     },
 *     deletion_protection=True)
 * ```
 * ```csharp
 * using System.Collections.Generic;
 * using System.Linq;
 * using Pulumi;
 * using Gcp = Pulumi.Gcp;
 * return await Deployment.RunAsync(() =>
 * {
 *     var my_cloud_exadata = new Gcp.OracleDatabase.CloudExadataInfrastructure("my-cloud-exadata", new()
 *     {
 *         CloudExadataInfrastructureId = "my-instance",
 *         DisplayName = "my-instance displayname",
 *         Location = "us-east4",
 *         Project = "my-project",
 *         Properties = new Gcp.OracleDatabase.Inputs.CloudExadataInfrastructurePropertiesArgs
 *         {
 *             Shape = "Exadata.X9M",
 *             ComputeCount = 2,
 *             StorageCount = 3,
 *         },
 *         DeletionProtection = true,
 *     });
 * });
 * ```
 * ```go
 * package main
 * import (
 * 	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/oracledatabase"
 * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
 * )
 * func main() {
 * 	pulumi.Run(func(ctx *pulumi.Context) error {
 * 		_, err := oracledatabase.NewCloudExadataInfrastructure(ctx, "my-cloud-exadata", &oracledatabase.CloudExadataInfrastructureArgs{
 * 			CloudExadataInfrastructureId: pulumi.String("my-instance"),
 * 			DisplayName:                  pulumi.String("my-instance displayname"),
 * 			Location:                     pulumi.String("us-east4"),
 * 			Project:                      pulumi.String("my-project"),
 * 			Properties: &oracledatabase.CloudExadataInfrastructurePropertiesArgs{
 * 				Shape:        pulumi.String("Exadata.X9M"),
 * 				ComputeCount: pulumi.Int(2),
 * 				StorageCount: pulumi.Int(3),
 * 			},
 * 			DeletionProtection: pulumi.Bool(true),
 * 		})
 * 		if err != nil {
 * 			return err
 * 		}
 * 		return nil
 * 	})
 * }
 * ```
 * ```java
 * package generated_program;
 * import com.pulumi.Context;
 * import com.pulumi.Pulumi;
 * import com.pulumi.core.Output;
 * import com.pulumi.gcp.oracledatabase.CloudExadataInfrastructure;
 * import com.pulumi.gcp.oracledatabase.CloudExadataInfrastructureArgs;
 * import com.pulumi.gcp.oracledatabase.inputs.CloudExadataInfrastructurePropertiesArgs;
 * import java.util.List;
 * import java.util.ArrayList;
 * import java.util.Map;
 * import java.io.File;
 * import java.nio.file.Files;
 * import java.nio.file.Paths;
 * public class App {
 *     public static void main(String[] args) {
 *         Pulumi.run(App::stack);
 *     }
 *     public static void stack(Context ctx) {
 *         var my_cloud_exadata = new CloudExadataInfrastructure("my-cloud-exadata", CloudExadataInfrastructureArgs.builder()
 *             .cloudExadataInfrastructureId("my-instance")
 *             .displayName("my-instance displayname")
 *             .location("us-east4")
 *             .project("my-project")
 *             .properties(CloudExadataInfrastructurePropertiesArgs.builder()
 *                 .shape("Exadata.X9M")
 *                 .computeCount("2")
 *                 .storageCount("3")
 *                 .build())
 *             .deletionProtection("true")
 *             .build());
 *     }
 * }
 * ```
 * ```yaml
 * resources:
 *   my-cloud-exadata:
 *     type: gcp:oracledatabase:CloudExadataInfrastructure
 *     properties:
 *       cloudExadataInfrastructureId: my-instance
 *       displayName: my-instance displayname
 *       location: us-east4
 *       project: my-project
 *       properties:
 *         shape: Exadata.X9M
 *         computeCount: '2'
 *         storageCount: '3'
 *       deletionProtection: 'true'
 * ```
 * 
 * ### Oracledatabase Cloud Exadata Infrastructure Full
 * 
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as gcp from "@pulumi/gcp";
 * const my_cloud_exadata = new gcp.oracledatabase.CloudExadataInfrastructure("my-cloud-exadata", {
 *     cloudExadataInfrastructureId: "my-instance",
 *     displayName: "my-instance displayname",
 *     location: "us-east4",
 *     project: "my-project",
 *     gcpOracleZone: "us-east4-b-r1",
 *     properties: {
 *         shape: "Exadata.X9M",
 *         computeCount: 2,
 *         storageCount: 3,
 *         customerContacts: [{
 *             email: "[email protected]",
 *         }],
 *         maintenanceWindow: {
 *             customActionTimeoutMins: 20,
 *             daysOfWeeks: ["SUNDAY"],
 *             hoursOfDays: [4],
 *             isCustomActionTimeoutEnabled: false,
 *             leadTimeWeek: 1,
 *             months: [
 *                 "JANUARY",
 *                 "APRIL",
 *                 "MAY",
 *                 "OCTOBER",
 *             ],
 *             patchingMode: "ROLLING",
 *             preference: "CUSTOM_PREFERENCE",
 *             weeksOfMonths: [4],
 *         },
 *         totalStorageSizeGb: 196608,
 *     },
 *     labels: {
 *         "label-one": "value-one",
 *     },
 *     deletionProtection: true,
 * });
 * ```
 * ```python
 * import pulumi
 * import pulumi_gcp as gcp
 * my_cloud_exadata = gcp.oracledatabase.CloudExadataInfrastructure("my-cloud-exadata",
 *     cloud_exadata_infrastructure_id="my-instance",
 *     display_name="my-instance displayname",
 *     location="us-east4",
 *     project="my-project",
 *     gcp_oracle_zone="us-east4-b-r1",
 *     properties={
 *         "shape": "Exadata.X9M",
 *         "compute_count": 2,
 *         "storage_count": 3,
 *         "customer_contacts": [{
 *             "email": "[email protected]",
 *         }],
 *         "maintenance_window": {
 *             "custom_action_timeout_mins": 20,
 *             "days_of_weeks": ["SUNDAY"],
 *             "hours_of_days": [4],
 *             "is_custom_action_timeout_enabled": False,
 *             "lead_time_week": 1,
 *             "months": [
 *                 "JANUARY",
 *                 "APRIL",
 *                 "MAY",
 *                 "OCTOBER",
 *             ],
 *             "patching_mode": "ROLLING",
 *             "preference": "CUSTOM_PREFERENCE",
 *             "weeks_of_months": [4],
 *         },
 *         "total_storage_size_gb": 196608,
 *     },
 *     labels={
 *         "label-one": "value-one",
 *     },
 *     deletion_protection=True)
 * ```
 * ```csharp
 * using System.Collections.Generic;
 * using System.Linq;
 * using Pulumi;
 * using Gcp = Pulumi.Gcp;
 * return await Deployment.RunAsync(() =>
 * {
 *     var my_cloud_exadata = new Gcp.OracleDatabase.CloudExadataInfrastructure("my-cloud-exadata", new()
 *     {
 *         CloudExadataInfrastructureId = "my-instance",
 *         DisplayName = "my-instance displayname",
 *         Location = "us-east4",
 *         Project = "my-project",
 *         GcpOracleZone = "us-east4-b-r1",
 *         Properties = new Gcp.OracleDatabase.Inputs.CloudExadataInfrastructurePropertiesArgs
 *         {
 *             Shape = "Exadata.X9M",
 *             ComputeCount = 2,
 *             StorageCount = 3,
 *             CustomerContacts = new[]
 *             {
 *                 new Gcp.OracleDatabase.Inputs.CloudExadataInfrastructurePropertiesCustomerContactArgs
 *                 {
 *                     Email = "[email protected]",
 *                 },
 *             },
 *             MaintenanceWindow = new Gcp.OracleDatabase.Inputs.CloudExadataInfrastructurePropertiesMaintenanceWindowArgs
 *             {
 *                 CustomActionTimeoutMins = 20,
 *                 DaysOfWeeks = new[]
 *                 {
 *                     "SUNDAY",
 *                 },
 *                 HoursOfDays = new[]
 *                 {
 *                     4,
 *                 },
 *                 IsCustomActionTimeoutEnabled = false,
 *                 LeadTimeWeek = 1,
 *                 Months = new[]
 *                 {
 *                     "JANUARY",
 *                     "APRIL",
 *                     "MAY",
 *                     "OCTOBER",
 *                 },
 *                 PatchingMode = "ROLLING",
 *                 Preference = "CUSTOM_PREFERENCE",
 *                 WeeksOfMonths = new[]
 *                 {
 *                     4,
 *                 },
 *             },
 *             TotalStorageSizeGb = 196608,
 *         },
 *         Labels =
 *         {
 *             { "label-one", "value-one" },
 *         },
 *         DeletionProtection = true,
 *     });
 * });
 * ```
 * ```go
 * package main
 * import (
 * 	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/oracledatabase"
 * 	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
 * )
 * func main() {
 * 	pulumi.Run(func(ctx *pulumi.Context) error {
 * 		_, err := oracledatabase.NewCloudExadataInfrastructure(ctx, "my-cloud-exadata", &oracledatabase.CloudExadataInfrastructureArgs{
 * 			CloudExadataInfrastructureId: pulumi.String("my-instance"),
 * 			DisplayName:                  pulumi.String("my-instance displayname"),
 * 			Location:                     pulumi.String("us-east4"),
 * 			Project:                      pulumi.String("my-project"),
 * 			GcpOracleZone:                pulumi.String("us-east4-b-r1"),
 * 			Properties: &oracledatabase.CloudExadataInfrastructurePropertiesArgs{
 * 				Shape:        pulumi.String("Exadata.X9M"),
 * 				ComputeCount: pulumi.Int(2),
 * 				StorageCount: pulumi.Int(3),
 * 				CustomerContacts: oracledatabase.CloudExadataInfrastructurePropertiesCustomerContactArray{
 * 					&oracledatabase.CloudExadataInfrastructurePropertiesCustomerContactArgs{
 * 						Email: pulumi.String("[email protected]"),
 * 					},
 * 				},
 * 				MaintenanceWindow: &oracledatabase.CloudExadataInfrastructurePropertiesMaintenanceWindowArgs{
 * 					CustomActionTimeoutMins: pulumi.Int(20),
 * 					DaysOfWeeks: pulumi.StringArray{
 * 						pulumi.String("SUNDAY"),
 * 					},
 * 					HoursOfDays: pulumi.IntArray{
 * 						pulumi.Int(4),
 * 					},
 * 					IsCustomActionTimeoutEnabled: pulumi.Bool(false),
 * 					LeadTimeWeek:                 pulumi.Int(1),
 * 					Months: pulumi.StringArray{
 * 						pulumi.String("JANUARY"),
 * 						pulumi.String("APRIL"),
 * 						pulumi.String("MAY"),
 * 						pulumi.String("OCTOBER"),
 * 					},
 * 					PatchingMode: pulumi.String("ROLLING"),
 * 					Preference:   pulumi.String("CUSTOM_PREFERENCE"),
 * 					WeeksOfMonths: pulumi.IntArray{
 * 						pulumi.Int(4),
 * 					},
 * 				},
 * 				TotalStorageSizeGb: pulumi.Int(196608),
 * 			},
 * 			Labels: pulumi.StringMap{
 * 				"label-one": pulumi.String("value-one"),
 * 			},
 * 			DeletionProtection: pulumi.Bool(true),
 * 		})
 * 		if err != nil {
 * 			return err
 * 		}
 * 		return nil
 * 	})
 * }
 * ```
 * ```java
 * package generated_program;
 * import com.pulumi.Context;
 * import com.pulumi.Pulumi;
 * import com.pulumi.core.Output;
 * import com.pulumi.gcp.oracledatabase.CloudExadataInfrastructure;
 * import com.pulumi.gcp.oracledatabase.CloudExadataInfrastructureArgs;
 * import com.pulumi.gcp.oracledatabase.inputs.CloudExadataInfrastructurePropertiesArgs;
 * import com.pulumi.gcp.oracledatabase.inputs.CloudExadataInfrastructurePropertiesMaintenanceWindowArgs;
 * import java.util.List;
 * import java.util.ArrayList;
 * import java.util.Map;
 * import java.io.File;
 * import java.nio.file.Files;
 * import java.nio.file.Paths;
 * public class App {
 *     public static void main(String[] args) {
 *         Pulumi.run(App::stack);
 *     }
 *     public static void stack(Context ctx) {
 *         var my_cloud_exadata = new CloudExadataInfrastructure("my-cloud-exadata", CloudExadataInfrastructureArgs.builder()
 *             .cloudExadataInfrastructureId("my-instance")
 *             .displayName("my-instance displayname")
 *             .location("us-east4")
 *             .project("my-project")
 *             .gcpOracleZone("us-east4-b-r1")
 *             .properties(CloudExadataInfrastructurePropertiesArgs.builder()
 *                 .shape("Exadata.X9M")
 *                 .computeCount("2")
 *                 .storageCount("3")
 *                 .customerContacts(CloudExadataInfrastructurePropertiesCustomerContactArgs.builder()
 *                     .email("[email protected]")
 *                     .build())
 *                 .maintenanceWindow(CloudExadataInfrastructurePropertiesMaintenanceWindowArgs.builder()
 *                     .customActionTimeoutMins("20")
 *                     .daysOfWeeks("SUNDAY")
 *                     .hoursOfDays(4)
 *                     .isCustomActionTimeoutEnabled("0")
 *                     .leadTimeWeek("1")
 *                     .months(
 *                         "JANUARY",
 *                         "APRIL",
 *                         "MAY",
 *                         "OCTOBER")
 *                     .patchingMode("ROLLING")
 *                     .preference("CUSTOM_PREFERENCE")
 *                     .weeksOfMonths(4)
 *                     .build())
 *                 .totalStorageSizeGb("196608")
 *                 .build())
 *             .labels(Map.of("label-one", "value-one"))
 *             .deletionProtection("true")
 *             .build());
 *     }
 * }
 * ```
 * ```yaml
 * resources:
 *   my-cloud-exadata:
 *     type: gcp:oracledatabase:CloudExadataInfrastructure
 *     properties:
 *       cloudExadataInfrastructureId: my-instance
 *       displayName: my-instance displayname
 *       location: us-east4
 *       project: my-project
 *       gcpOracleZone: us-east4-b-r1
 *       properties:
 *         shape: Exadata.X9M
 *         computeCount: '2'
 *         storageCount: '3'
 *         customerContacts:
 *           - email: [email protected]
 *         maintenanceWindow:
 *           customActionTimeoutMins: '20'
 *           daysOfWeeks:
 *             - SUNDAY
 *           hoursOfDays:
 *             - 4
 *           isCustomActionTimeoutEnabled: '0'
 *           leadTimeWeek: '1'
 *           months:
 *             - JANUARY
 *             - APRIL
 *             - MAY
 *             - OCTOBER
 *           patchingMode: ROLLING
 *           preference: CUSTOM_PREFERENCE
 *           weeksOfMonths:
 *             - 4
 *         totalStorageSizeGb: '196608'
 *       labels:
 *         label-one: value-one
 *       deletionProtection: 'true'
 * ```
 * 
 * ## Import
 * CloudExadataInfrastructure can be imported using any of these accepted formats:
 * * `projects/{{project}}/locations/{{location}}/cloudExadataInfrastructures/{{cloud_exadata_infrastructure_id}}`
 * * `{{project}}/{{location}}/{{cloud_exadata_infrastructure_id}}`
 * * `{{location}}/{{cloud_exadata_infrastructure_id}}`
 * When using the `pulumi import` command, CloudExadataInfrastructure can be imported using one of the formats above. For example:
 * ```sh
 * $ pulumi import gcp:oracledatabase/cloudExadataInfrastructure:CloudExadataInfrastructure default projects/{{project}}/locations/{{location}}/cloudExadataInfrastructures/{{cloud_exadata_infrastructure_id}}
 * ```
 * ```sh
 * $ pulumi import gcp:oracledatabase/cloudExadataInfrastructure:CloudExadataInfrastructure default {{project}}/{{location}}/{{cloud_exadata_infrastructure_id}}
 * ```
 * ```sh
 * $ pulumi import gcp:oracledatabase/cloudExadataInfrastructure:CloudExadataInfrastructure default {{location}}/{{cloud_exadata_infrastructure_id}}
 * ```
 */
public class CloudExadataInfrastructure internal constructor(
    override val javaResource: com.pulumi.gcp.oracledatabase.CloudExadataInfrastructure,
) : KotlinCustomResource(javaResource, CloudExadataInfrastructureMapper) {
    /**
     * The ID of the Exadata Infrastructure to create. This value is restricted
     * to (^a-z?$) and must be a maximum of 63
     * characters in length. The value must start with a letter and end with
     * a letter or a number.
     * - - -
     */
    public val cloudExadataInfrastructureId: Output
        get() = javaResource.cloudExadataInfrastructureId().applyValue({ args0 -> args0 })

    /**
     * The date and time that the Exadata Infrastructure was created.
     */
    public val createTime: Output
        get() = javaResource.createTime().applyValue({ args0 -> args0 })

    public val deletionProtection: Output?
        get() = javaResource.deletionProtection().applyValue({ args0 ->
            args0.map({ args0 ->
                args0
            }).orElse(null)
        })

    /**
     * User friendly name for this resource.
     */
    public val displayName: Output?
        get() = javaResource.displayName().applyValue({ args0 ->
            args0.map({ args0 ->
                args0
            }).orElse(null)
        })

    /**
     * All of labels (key/value pairs) present on the resource in GCP, including the labels configured through Pulumi, other clients and services.
     */
    public val effectiveLabels: Output>
        get() = javaResource.effectiveLabels().applyValue({ args0 ->
            args0.map({ args0 ->
                args0.key.to(args0.value)
            }).toMap()
        })

    /**
     * Entitlement ID of the private offer against which this infrastructure
     * resource is provisioned.
     */
    public val entitlementId: Output
        get() = javaResource.entitlementId().applyValue({ args0 -> args0 })

    /**
     * GCP location where Oracle Exadata is hosted.
     */
    public val gcpOracleZone: Output
        get() = javaResource.gcpOracleZone().applyValue({ args0 -> args0 })

    /**
     * Labels or tags associated with the resource.
     * **Note**: This field is non-authoritative, and will only manage the labels present in your configuration.
     * Please refer to the field `effective_labels` for all of the labels present on the resource.
     */
    public val labels: Output>?
        get() = javaResource.labels().applyValue({ args0 ->
            args0.map({ args0 ->
                args0.map({ args0 ->
                    args0.key.to(args0.value)
                }).toMap()
            }).orElse(null)
        })

    /**
     * Resource ID segment making up resource `name`. See documentation for resource type `oracledatabase.googleapis.com/DbServer`.
     */
    public val location: Output
        get() = javaResource.location().applyValue({ args0 -> args0 })

    /**
     * Identifier. The name of the Exadata Infrastructure resource with the following format:
     * projects/{project}/locations/{region}/cloudExadataInfrastructures/{cloud_exadata_infrastructure}
     */
    public val name: Output
        get() = javaResource.name().applyValue({ args0 -> args0 })

    /**
     * The ID of the project in which the resource belongs.
     * If it is not provided, the provider project is used.
     */
    public val project: Output
        get() = javaResource.project().applyValue({ args0 -> args0 })

    /**
     * Various properties of Exadata Infrastructure.
     * Structure is documented below.
     */
    public val properties: Output?
        get() = javaResource.properties().applyValue({ args0 ->
            args0.map({ args0 ->
                args0.let({ args0 ->
                    toKotlin(args0)
                })
            }).orElse(null)
        })

    /**
     * The combination of labels configured directly on the resource
     * and default labels configured on the provider.
     */
    public val pulumiLabels: Output>
        get() = javaResource.pulumiLabels().applyValue({ args0 ->
            args0.map({ args0 ->
                args0.key.to(args0.value)
            }).toMap()
        })
}

public object CloudExadataInfrastructureMapper : ResourceMapper {
    override fun supportsMappingOfType(javaResource: Resource): Boolean =
        com.pulumi.gcp.oracledatabase.CloudExadataInfrastructure::class == javaResource::class

    override fun map(javaResource: Resource): CloudExadataInfrastructure =
        CloudExadataInfrastructure(
            javaResource as
                com.pulumi.gcp.oracledatabase.CloudExadataInfrastructure,
        )
}

/**
 * @see [CloudExadataInfrastructure].
 * @param name The _unique_ name of the resulting resource.
 * @param block Builder for [CloudExadataInfrastructure].
 */
public suspend fun cloudExadataInfrastructure(
    name: String,
    block: suspend CloudExadataInfrastructureResourceBuilder.() -> Unit,
): CloudExadataInfrastructure {
    val builder = CloudExadataInfrastructureResourceBuilder()
    builder.name(name)
    block(builder)
    return builder.build()
}

/**
 * @see [CloudExadataInfrastructure].
 * @param name The _unique_ name of the resulting resource.
 */
public fun cloudExadataInfrastructure(name: String): CloudExadataInfrastructure {
    val builder = CloudExadataInfrastructureResourceBuilder()
    builder.name(name)
    return builder.build()
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy