
com.pulumi.gcp.oracledatabase.kotlin.CloudExadataInfrastructure.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-gcp-kotlin Show documentation
Show all versions of pulumi-gcp-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@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
© 2015 - 2025 Weber Informatics LLC | Privacy Policy