Last active
November 3, 2022 15:10
-
-
Save jplewa/eaae32a6742a8ae4e0dd66af4c1dd56b to your computer and use it in GitHub Desktop.
Pulumi Kotlin GCP (v6.39.0) temporary build schema
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"name": "gcp", | |
"description": "A Pulumi package for creating and managing Google Cloud Platform resources.", | |
"keywords": [ | |
"pulumi", | |
"gcp" | |
], | |
"homepage": "https://pulumi.io", | |
"license": "Apache-2.0", | |
"attribution": "This Pulumi package is based on the [`google-beta` Terraform Provider](https://github.com/hashicorp/terraform-provider-google-beta).", | |
"repository": "https://github.com/pulumi/pulumi-gcp", | |
"meta": { | |
"moduleFormat": "(.*)(?:/[^/]*)" | |
}, | |
"language": { | |
"csharp": { | |
"compatibility": "tfbridge20", | |
"namespaces": { | |
"accessapproval": "AccessApproval", | |
"accesscontextmanager": "AccessContextManager", | |
"activedirectory": "ActiveDirectory", | |
"apigateway": "ApiGateway", | |
"apigee": "Apigee", | |
"appengine": "AppEngine", | |
"artifactregistry": "ArtifactRegistry", | |
"assuredworkloads": "AssuredWorkloads", | |
"bigquery": "BigQuery", | |
"bigqueryanalyticshub": "BigQueryAnalyticsHub", | |
"bigtable": "BigTable", | |
"billing": "Billing", | |
"binaryauthorization": "BinaryAuthorization", | |
"certificateauthority": "CertificateAuthority", | |
"certificatemanager": "CertificateManager", | |
"cloudasset": "CloudAsset", | |
"cloudbuild": "CloudBuild", | |
"clouddeploy": "CloudDeploy", | |
"cloudfunctions": "CloudFunctions", | |
"cloudfunctionsv2": "CloudFunctionsV2", | |
"cloudidentity": "CloudIdentity", | |
"cloudrun": "CloudRun", | |
"cloudscheduler": "CloudScheduler", | |
"cloudtasks": "CloudTasks", | |
"composer": "Composer", | |
"compute": "Compute", | |
"container": "Container", | |
"containeranalysis": "ContainerAnalysis", | |
"datacatalog": "DataCatalog", | |
"dataflow": "Dataflow", | |
"datafusion": "DataFusion", | |
"dataloss": "DataLoss", | |
"dataplex": "DataPlex", | |
"dataproc": "Dataproc", | |
"datastore": "Datastore", | |
"datastream": "Datastream", | |
"deploymentmanager": "DeploymentManager", | |
"diagflow": "Diagflow", | |
"dns": "Dns", | |
"endpoints": "Endpoints", | |
"essentialcontacts": "EssentialContacts", | |
"eventarc": "Eventarc", | |
"filestore": "Filestore", | |
"firebase": "Firebase", | |
"firebaserules": "Firebaserules", | |
"firestore": "Firestore", | |
"folder": "Folder", | |
"gameservices": "GameServices", | |
"gcp": "Gcp", | |
"gkehub": "GkeHub", | |
"healthcare": "Healthcare", | |
"iam": "Iam", | |
"iap": "Iap", | |
"identityplatform": "IdentityPlatform", | |
"iot": "Iot", | |
"kms": "Kms", | |
"logging": "Logging", | |
"memcache": "Memcache", | |
"ml": "ML", | |
"monitoring": "Monitoring", | |
"networkconnectivity": "NetworkConnectivity", | |
"networkmanagement": "NetworkManagement", | |
"networkservices": "NetworkServices", | |
"notebooks": "Notebooks", | |
"organizations": "Organizations", | |
"orgpolicy": "OrgPolicy", | |
"osconfig": "OsConfig", | |
"oslogin": "OsLogin", | |
"projects": "Projects", | |
"pubsub": "PubSub", | |
"recaptcha": "Recaptcha", | |
"redis": "Redis", | |
"resourcemanager": "ResourceManager", | |
"runtimeconfig": "RuntimeConfig", | |
"secretmanager": "SecretManager", | |
"securitycenter": "SecurityCenter", | |
"serviceAccount": "ServiceAccount", | |
"servicedirectory": "ServiceDirectory", | |
"servicenetworking": "ServiceNetworking", | |
"serviceusage": "ServiceUsage", | |
"sourcerepo": "SourceRepo", | |
"spanner": "Spanner", | |
"sql": "Sql", | |
"storage": "Storage", | |
"tags": "Tags", | |
"tpu": "Tpu", | |
"vertex": "Vertex", | |
"vpcaccess": "VpcAccess", | |
"workflows": "Workflows" | |
}, | |
"packageReferences": { | |
"Pulumi": "3.*" | |
} | |
}, | |
"go": { | |
"generateExtraInputTypes": true, | |
"generateResourceContainerTypes": true, | |
"importBasePath": "github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp" | |
}, | |
"nodejs": { | |
"compatibility": "tfbridge20", | |
"dependencies": { | |
"@pulumi/pulumi": "^3.0.0", | |
"@types/express": "^4.16.0", | |
"read-package-json": "^2.0.13" | |
}, | |
"devDependencies": { | |
"@types/node": "^10.0.0" | |
}, | |
"disableUnionOutputTypes": true, | |
"packageDescription": "A Pulumi package for creating and managing Google Cloud Platform resources.", | |
"packageName": "", | |
"readme": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/hashicorp/terraform-provider-google-beta)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-gcp` repo](https://github.com/pulumi/pulumi-gcp/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-google-beta` repo](https://github.com/hashicorp/terraform-provider-google-beta/issues).", | |
"typescriptVersion": "" | |
}, | |
"python": { | |
"compatibility": "tfbridge20", | |
"readme": "\u003e This provider is a derived work of the [Terraform Provider](https://github.com/hashicorp/terraform-provider-google-beta)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-gcp` repo](https://github.com/pulumi/pulumi-gcp/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-google-beta` repo](https://github.com/hashicorp/terraform-provider-google-beta/issues).", | |
"requires": { | |
"pulumi": "\u003e=3.0.0,\u003c4.0.0" | |
} | |
} | |
}, | |
"config": { | |
"variables": { | |
"accessApprovalCustomEndpoint": { | |
"type": "string" | |
}, | |
"accessContextManagerCustomEndpoint": { | |
"type": "string" | |
}, | |
"accessToken": { | |
"type": "string" | |
}, | |
"activeDirectoryCustomEndpoint": { | |
"type": "string" | |
}, | |
"apiGatewayCustomEndpoint": { | |
"type": "string" | |
}, | |
"apigeeCustomEndpoint": { | |
"type": "string" | |
}, | |
"apikeysCustomEndpoint": { | |
"type": "string" | |
}, | |
"appEngineCustomEndpoint": { | |
"type": "string" | |
}, | |
"artifactRegistryCustomEndpoint": { | |
"type": "string" | |
}, | |
"assuredWorkloadsCustomEndpoint": { | |
"type": "string" | |
}, | |
"batching": { | |
"$ref": "#/types/gcp:config/batching:batching" | |
}, | |
"bigQueryCustomEndpoint": { | |
"type": "string" | |
}, | |
"bigqueryAnalyticsHubCustomEndpoint": { | |
"type": "string" | |
}, | |
"bigqueryConnectionCustomEndpoint": { | |
"type": "string" | |
}, | |
"bigqueryDataTransferCustomEndpoint": { | |
"type": "string" | |
}, | |
"bigqueryReservationCustomEndpoint": { | |
"type": "string" | |
}, | |
"bigtableCustomEndpoint": { | |
"type": "string" | |
}, | |
"billingCustomEndpoint": { | |
"type": "string" | |
}, | |
"billingProject": { | |
"type": "string" | |
}, | |
"binaryAuthorizationCustomEndpoint": { | |
"type": "string" | |
}, | |
"certificateManagerCustomEndpoint": { | |
"type": "string" | |
}, | |
"cloudAssetCustomEndpoint": { | |
"type": "string" | |
}, | |
"cloudBillingCustomEndpoint": { | |
"type": "string" | |
}, | |
"cloudBuildCustomEndpoint": { | |
"type": "string" | |
}, | |
"cloudBuildWorkerPoolCustomEndpoint": { | |
"type": "string" | |
}, | |
"cloudFunctionsCustomEndpoint": { | |
"type": "string" | |
}, | |
"cloudIdentityCustomEndpoint": { | |
"type": "string" | |
}, | |
"cloudIotCustomEndpoint": { | |
"type": "string" | |
}, | |
"cloudResourceManagerCustomEndpoint": { | |
"type": "string" | |
}, | |
"cloudRunCustomEndpoint": { | |
"type": "string" | |
}, | |
"cloudSchedulerCustomEndpoint": { | |
"type": "string" | |
}, | |
"cloudTasksCustomEndpoint": { | |
"type": "string" | |
}, | |
"clouddeployCustomEndpoint": { | |
"type": "string" | |
}, | |
"cloudfunctions2CustomEndpoint": { | |
"type": "string" | |
}, | |
"composerCustomEndpoint": { | |
"type": "string" | |
}, | |
"computeCustomEndpoint": { | |
"type": "string" | |
}, | |
"containerAnalysisCustomEndpoint": { | |
"type": "string" | |
}, | |
"containerAwsCustomEndpoint": { | |
"type": "string" | |
}, | |
"containerAzureCustomEndpoint": { | |
"type": "string" | |
}, | |
"containerCustomEndpoint": { | |
"type": "string" | |
}, | |
"credentials": { | |
"type": "string" | |
}, | |
"dataCatalogCustomEndpoint": { | |
"type": "string" | |
}, | |
"dataFusionCustomEndpoint": { | |
"type": "string" | |
}, | |
"dataLossPreventionCustomEndpoint": { | |
"type": "string" | |
}, | |
"dataflowCustomEndpoint": { | |
"type": "string" | |
}, | |
"dataplexCustomEndpoint": { | |
"type": "string" | |
}, | |
"dataprocCustomEndpoint": { | |
"type": "string" | |
}, | |
"dataprocMetastoreCustomEndpoint": { | |
"type": "string" | |
}, | |
"datastoreCustomEndpoint": { | |
"type": "string" | |
}, | |
"datastreamCustomEndpoint": { | |
"type": "string" | |
}, | |
"deploymentManagerCustomEndpoint": { | |
"type": "string" | |
}, | |
"dialogflowCustomEndpoint": { | |
"type": "string" | |
}, | |
"dialogflowCxCustomEndpoint": { | |
"type": "string" | |
}, | |
"disableGooglePartnerName": { | |
"type": "boolean" | |
}, | |
"dnsCustomEndpoint": { | |
"type": "string" | |
}, | |
"documentAiCustomEndpoint": { | |
"type": "string" | |
}, | |
"essentialContactsCustomEndpoint": { | |
"type": "string" | |
}, | |
"eventarcCustomEndpoint": { | |
"type": "string" | |
}, | |
"filestoreCustomEndpoint": { | |
"type": "string" | |
}, | |
"firebaseCustomEndpoint": { | |
"type": "string" | |
}, | |
"firebaserulesCustomEndpoint": { | |
"type": "string" | |
}, | |
"firestoreCustomEndpoint": { | |
"type": "string" | |
}, | |
"gameServicesCustomEndpoint": { | |
"type": "string" | |
}, | |
"gkeHubCustomEndpoint": { | |
"type": "string" | |
}, | |
"gkehubFeatureCustomEndpoint": { | |
"type": "string" | |
}, | |
"googlePartnerName": { | |
"type": "string" | |
}, | |
"healthcareCustomEndpoint": { | |
"type": "string" | |
}, | |
"iam2CustomEndpoint": { | |
"type": "string" | |
}, | |
"iamBetaCustomEndpoint": { | |
"type": "string" | |
}, | |
"iamCredentialsCustomEndpoint": { | |
"type": "string" | |
}, | |
"iamCustomEndpoint": { | |
"type": "string" | |
}, | |
"iapCustomEndpoint": { | |
"type": "string" | |
}, | |
"identityPlatformCustomEndpoint": { | |
"type": "string" | |
}, | |
"impersonateServiceAccount": { | |
"type": "string" | |
}, | |
"impersonateServiceAccountDelegates": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"kmsCustomEndpoint": { | |
"type": "string" | |
}, | |
"loggingCustomEndpoint": { | |
"type": "string" | |
}, | |
"memcacheCustomEndpoint": { | |
"type": "string" | |
}, | |
"mlEngineCustomEndpoint": { | |
"type": "string" | |
}, | |
"monitoringCustomEndpoint": { | |
"type": "string" | |
}, | |
"networkConnectivityCustomEndpoint": { | |
"type": "string" | |
}, | |
"networkManagementCustomEndpoint": { | |
"type": "string" | |
}, | |
"networkServicesCustomEndpoint": { | |
"type": "string" | |
}, | |
"notebooksCustomEndpoint": { | |
"type": "string" | |
}, | |
"orgPolicyCustomEndpoint": { | |
"type": "string" | |
}, | |
"osConfigCustomEndpoint": { | |
"type": "string" | |
}, | |
"osLoginCustomEndpoint": { | |
"type": "string" | |
}, | |
"privatecaCustomEndpoint": { | |
"type": "string" | |
}, | |
"project": { | |
"type": "string", | |
"defaultInfo": { | |
"environment": [ | |
"GOOGLE_PROJECT", | |
"GOOGLE_CLOUD_PROJECT", | |
"GCLOUD_PROJECT", | |
"CLOUDSDK_CORE_PROJECT" | |
] | |
} | |
}, | |
"pubsubCustomEndpoint": { | |
"type": "string" | |
}, | |
"pubsubLiteCustomEndpoint": { | |
"type": "string" | |
}, | |
"recaptchaEnterpriseCustomEndpoint": { | |
"type": "string" | |
}, | |
"redisCustomEndpoint": { | |
"type": "string" | |
}, | |
"region": { | |
"type": "string", | |
"defaultInfo": { | |
"environment": [ | |
"GOOGLE_REGION", | |
"GCLOUD_REGION", | |
"CLOUDSDK_COMPUTE_REGION" | |
] | |
} | |
}, | |
"requestReason": { | |
"type": "string" | |
}, | |
"requestTimeout": { | |
"type": "string" | |
}, | |
"resourceManagerCustomEndpoint": { | |
"type": "string" | |
}, | |
"resourceManagerV3CustomEndpoint": { | |
"type": "string" | |
}, | |
"runtimeConfigCustomEndpoint": { | |
"type": "string" | |
}, | |
"runtimeconfigCustomEndpoint": { | |
"type": "string" | |
}, | |
"scopes": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
} | |
}, | |
"secretManagerCustomEndpoint": { | |
"type": "string" | |
}, | |
"securityCenterCustomEndpoint": { | |
"type": "string" | |
}, | |
"securityScannerCustomEndpoint": { | |
"type": "string" | |
}, | |
"serviceDirectoryCustomEndpoint": { | |
"type": "string" | |
}, | |
"serviceManagementCustomEndpoint": { | |
"type": "string" | |
}, | |
"serviceNetworkingCustomEndpoint": { | |
"type": "string" | |
}, | |
"serviceUsageCustomEndpoint": { | |
"type": "string" | |
}, | |
"sourceRepoCustomEndpoint": { | |
"type": "string" | |
}, | |
"spannerCustomEndpoint": { | |
"type": "string" | |
}, | |
"sqlCustomEndpoint": { | |
"type": "string" | |
}, | |
"storageCustomEndpoint": { | |
"type": "string" | |
}, | |
"storageTransferCustomEndpoint": { | |
"type": "string" | |
}, | |
"tagsCustomEndpoint": { | |
"type": "string" | |
}, | |
"tpuCustomEndpoint": { | |
"type": "string" | |
}, | |
"userProjectOverride": { | |
"type": "boolean" | |
}, | |
"vertexAiCustomEndpoint": { | |
"type": "string" | |
}, | |
"vpcAccessCustomEndpoint": { | |
"type": "string" | |
}, | |
"workflowsCustomEndpoint": { | |
"type": "string" | |
}, | |
"zone": { | |
"type": "string", | |
"defaultInfo": { | |
"environment": [ | |
"GOOGLE_ZONE", | |
"GCLOUD_ZONE", | |
"CLOUDSDK_COMPUTE_ZONE" | |
] | |
} | |
} | |
} | |
}, | |
"resources": { | |
"gcp:compute/instance:Instance": { | |
"description": "Manages a VM instance resource within GCE. For more information see\n[the official documentation](https://cloud.google.com/compute/docs/instances)\nand\n[API](https://cloud.google.com/compute/docs/reference/latest/instances).\n\n{{% examples %}}\n## Example Usage\n{{% example %}}\n\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as gcp from \"@pulumi/gcp\";\n\nconst defaultAccount = new gcp.serviceaccount.Account(\"defaultAccount\", {\n accountId: \"service_account_id\",\n displayName: \"Service Account\",\n});\nconst defaultInstance = new gcp.compute.Instance(\"defaultInstance\", {\n machineType: \"e2-medium\",\n zone: \"us-central1-a\",\n tags: [\n \"foo\",\n \"bar\",\n ],\n bootDisk: {\n initializeParams: {\n image: \"debian-cloud/debian-11\",\n },\n },\n scratchDisks: [{\n \"interface\": \"SCSI\",\n }],\n networkInterfaces: [{\n network: \"default\",\n accessConfigs: [{}],\n }],\n metadata: {\n foo: \"bar\",\n },\n metadataStartupScript: \"echo hi > /test.txt\",\n serviceAccount: {\n email: defaultAccount.email,\n scopes: [\"cloud-platform\"],\n },\n});\n```\n```python\nimport pulumi\nimport pulumi_gcp as gcp\n\ndefault_account = gcp.service_account.Account(\"defaultAccount\",\n account_id=\"service_account_id\",\n display_name=\"Service Account\")\ndefault_instance = gcp.compute.Instance(\"defaultInstance\",\n machine_type=\"e2-medium\",\n zone=\"us-central1-a\",\n tags=[\n \"foo\",\n \"bar\",\n ],\n boot_disk=gcp.compute.InstanceBootDiskArgs(\n initialize_params=gcp.compute.InstanceBootDiskInitializeParamsArgs(\n image=\"debian-cloud/debian-11\",\n ),\n ),\n scratch_disks=[gcp.compute.InstanceScratchDiskArgs(\n interface=\"SCSI\",\n )],\n network_interfaces=[gcp.compute.InstanceNetworkInterfaceArgs(\n network=\"default\",\n access_configs=[gcp.compute.InstanceNetworkInterfaceAccessConfigArgs()],\n )],\n metadata={\n \"foo\": \"bar\",\n },\n metadata_startup_script=\"echo hi > /test.txt\",\n service_account=gcp.compute.InstanceServiceAccountArgs(\n email=default_account.email,\n scopes=[\"cloud-platform\"],\n ))\n```\n```csharp\nusing System.Collections.Generic;\nusing Pulumi;\nusing Gcp = Pulumi.Gcp;\n\nreturn await Deployment.RunAsync(() => \n{\n var defaultAccount = new Gcp.ServiceAccount.Account(\"defaultAccount\", new()\n {\n AccountId = \"service_account_id\",\n DisplayName = \"Service Account\",\n });\n\n var defaultInstance = new Gcp.Compute.Instance(\"defaultInstance\", new()\n {\n MachineType = \"e2-medium\",\n Zone = \"us-central1-a\",\n Tags = new[]\n {\n \"foo\",\n \"bar\",\n },\n BootDisk = new Gcp.Compute.Inputs.InstanceBootDiskArgs\n {\n InitializeParams = new Gcp.Compute.Inputs.InstanceBootDiskInitializeParamsArgs\n {\n Image = \"debian-cloud/debian-11\",\n },\n },\n ScratchDisks = new[]\n {\n new Gcp.Compute.Inputs.InstanceScratchDiskArgs\n {\n Interface = \"SCSI\",\n },\n },\n NetworkInterfaces = new[]\n {\n new Gcp.Compute.Inputs.InstanceNetworkInterfaceArgs\n {\n Network = \"default\",\n AccessConfigs = new[]\n {\n ,\n },\n },\n },\n Metadata = \n {\n { \"foo\", \"bar\" },\n },\n MetadataStartupScript = \"echo hi > /test.txt\",\n ServiceAccount = new Gcp.Compute.Inputs.InstanceServiceAccountArgs\n {\n Email = defaultAccount.Email,\n Scopes = new[]\n {\n \"cloud-platform\",\n },\n },\n });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/compute\"\n\t\"github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/serviceAccount\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tdefaultAccount, err := serviceAccount.NewAccount(ctx, \"defaultAccount\", &serviceAccount.AccountArgs{\n\t\t\tAccountId: pulumi.String(\"service_account_id\"),\n\t\t\tDisplayName: pulumi.String(\"Service Account\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = compute.NewInstance(ctx, \"defaultInstance\", &compute.InstanceArgs{\n\t\t\tMachineType: pulumi.String(\"e2-medium\"),\n\t\t\tZone: pulumi.String(\"us-central1-a\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo\"),\n\t\t\t\tpulumi.String(\"bar\"),\n\t\t\t},\n\t\t\tBootDisk: &compute.InstanceBootDiskArgs{\n\t\t\t\tInitializeParams: &compute.InstanceBootDiskInitializeParamsArgs{\n\t\t\t\t\tImage: pulumi.String(\"debian-cloud/debian-11\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tScratchDisks: compute.InstanceScratchDiskArray{\n\t\t\t\t&compute.InstanceScratchDiskArgs{\n\t\t\t\t\tInterface: pulumi.String(\"SCSI\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tNetworkInterfaces: compute.InstanceNetworkInterfaceArray{\n\t\t\t\t&compute.InstanceNetworkInterfaceArgs{\n\t\t\t\t\tNetwork: pulumi.String(\"default\"),\n\t\t\t\t\tAccessConfigs: compute.InstanceNetworkInterfaceAccessConfigArray{\n\t\t\t\t\t\tnil,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tMetadata: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t\tMetadataStartupScript: pulumi.String(\"echo hi > /test.txt\"),\n\t\t\tServiceAccount: &compute.InstanceServiceAccountArgs{\n\t\t\t\tEmail: defaultAccount.Email,\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"cloud-platform\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.gcp.serviceAccount.Account;\nimport com.pulumi.gcp.serviceAccount.AccountArgs;\nimport com.pulumi.gcp.compute.Instance;\nimport com.pulumi.gcp.compute.InstanceArgs;\nimport com.pulumi.gcp.compute.inputs.InstanceBootDiskArgs;\nimport com.pulumi.gcp.compute.inputs.InstanceBootDiskInitializeParamsArgs;\nimport com.pulumi.gcp.compute.inputs.InstanceScratchDiskArgs;\nimport com.pulumi.gcp.compute.inputs.InstanceNetworkInterfaceArgs;\nimport com.pulumi.gcp.compute.inputs.InstanceServiceAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n public static void main(String[] args) {\n Pulumi.run(App::stack);\n }\n\n public static void stack(Context ctx) {\n var defaultAccount = new Account(\"defaultAccount\", AccountArgs.builder() \n .accountId(\"service_account_id\")\n .displayName(\"Service Account\")\n .build());\n\n var defaultInstance = new Instance(\"defaultInstance\", InstanceArgs.builder() \n .machineType(\"e2-medium\")\n .zone(\"us-central1-a\")\n .tags( \n \"foo\",\n \"bar\")\n .bootDisk(InstanceBootDiskArgs.builder()\n .initializeParams(InstanceBootDiskInitializeParamsArgs.builder()\n .image(\"debian-cloud/debian-11\")\n .build())\n .build())\n .scratchDisks(InstanceScratchDiskArgs.builder()\n .interface_(\"SCSI\")\n .build())\n .networkInterfaces(InstanceNetworkInterfaceArgs.builder()\n .network(\"default\")\n .accessConfigs()\n .build())\n .metadata(Map.of(\"foo\", \"bar\"))\n .metadataStartupScript(\"echo hi > /test.txt\")\n .serviceAccount(InstanceServiceAccountArgs.builder()\n .email(defaultAccount.email())\n .scopes(\"cloud-platform\")\n .build())\n .build());\n\n }\n}\n```\n```yaml\nresources:\n defaultAccount:\n type: gcp:serviceAccount:Account\n properties:\n accountId: service_account_id\n displayName: Service Account\n defaultInstance:\n type: gcp:compute:Instance\n properties:\n machineType: e2-medium\n zone: us-central1-a\n tags:\n - foo\n - bar\n bootDisk:\n initializeParams:\n image: debian-cloud/debian-11\n # Local SSD disk\n scratchDisks:\n - interface: SCSI\n networkInterfaces:\n - network: default\n accessConfigs:\n - {}\n metadata:\n foo: bar\n metadataStartupScript: echo hi > /test.txt\n serviceAccount:\n email: ${defaultAccount.email}\n scopes:\n - cloud-platform\n```\n{{% /example %}}\n{{% /examples %}}\n\n## Import\n\nInstances can be imported using any of these accepted formats\n\n```sh\n $ pulumi import gcp:compute/instance:Instance default projects/{{project}}/zones/{{zone}}/instances/{{name}}\n```\n\n\n\n```sh\n $ pulumi import gcp:compute/instance:Instance default {{project}}/{{zone}}/{{name}}\n```\n\n\n\n```sh\n $ pulumi import gcp:compute/instance:Instance default {{name}}\n```\n\n [custom-vm-types]https://cloud.google.com/dataproc/docs/concepts/compute/custom-machine-types [network-tier]https://cloud.google.com/network-tiers/docs/overview [extended-custom-vm-type]https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#extendedmemory ", | |
"properties": { | |
"advancedMachineFeatures": { | |
"$ref": "#/types/gcp:compute/InstanceAdvancedMachineFeatures:InstanceAdvancedMachineFeatures", | |
"description": "Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below\n" | |
}, | |
"allowStoppingForUpdate": { | |
"type": "boolean", | |
"description": "If true, allows this prvider to stop the instance to update its properties.\nIf you try to update a property that requires stopping the instance without setting this field, the update will fail.\n" | |
}, | |
"attachedDisks": { | |
"type": "array", | |
"items": { | |
"$ref": "#/types/gcp:compute/InstanceAttachedDisk:InstanceAttachedDisk" | |
}, | |
"description": "Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.\n" | |
}, | |
"bootDisk": { | |
"$ref": "#/types/gcp:compute/InstanceBootDisk:InstanceBootDisk", | |
"description": "The boot disk for the instance.\nStructure is documented below.\n" | |
}, | |
"canIpForward": { | |
"type": "boolean", | |
"description": "Whether to allow sending and receiving of\npackets with non-matching source or destination IPs.\nThis defaults to false.\n" | |
}, | |
"confidentialInstanceConfig": { | |
"$ref": "#/types/gcp:compute/InstanceConfidentialInstanceConfig:InstanceConfidentialInstanceConfig", | |
"description": "Enable [Confidential Mode](https://cloud.google.com/compute/confidential-vm/docs/about-cvm) on this VM. Structure is documented below\n" | |
}, | |
"cpuPlatform": { | |
"type": "string", | |
"description": "The CPU platform used by this instance.\n" | |
}, | |
"currentStatus": { | |
"type": "string", | |
"description": "Current status of the instance.\n" | |
}, | |
"deletionProtection": { | |
"type": "boolean", | |
"description": "Enable deletion protection on this instance. Defaults to false.\n**Note:** you must disable deletion protection before removing the resource (e.g., via `pulumi destroy`), or the instance cannot be deleted and the provider run will not complete successfully.\n" | |
}, | |
"description": { | |
"type": "string", | |
"description": "A brief description of this resource.\n" | |
}, | |
"desiredStatus": { | |
"type": "string", | |
"description": "Desired status of the instance. Either\n`\"RUNNING\"` or `\"TERMINATED\"`.\n" | |
}, | |
"enableDisplay": { | |
"type": "boolean", | |
"description": "Enable [Virtual Displays](https://cloud.google.com/compute/docs/instances/enable-instance-virtual-display#verify_display_driver) on this instance.\n**Note**: `allow_stopping_for_update` must be set to true or your instance must have a `desired_status` of `TERMINATED` in order to update this field.\n" | |
}, | |
"guestAccelerators": { | |
"type": "array", | |
"items": { | |
"$ref": "#/types/gcp:compute/InstanceGuestAccelerator:InstanceGuestAccelerator" | |
}, | |
"description": "List of the type and count of accelerator cards attached to the instance. Structure documented below.\n**Note:** GPU accelerators can only be used with `on_host_maintenance` option set to TERMINATE.\n" | |
}, | |
"hostname": { | |
"type": "string", | |
"description": "A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid.\nValid format is a series of labels 1-63 characters long matching the regular expression `a-z`, concatenated with periods.\nThe entire hostname must not exceed 253 characters. Changing this forces a new resource to be created.\n" | |
}, | |
"instanceId": { | |
"type": "string", | |
"description": "The server-assigned unique identifier of this instance.\n" | |
}, | |
"labelFingerprint": { | |
"type": "string", | |
"description": "The unique fingerprint of the labels.\n" | |
}, | |
"labels": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "string" | |
}, | |
"description": "A map of key/value label pairs to assign to the instance.\n" | |
}, | |
"machineType": { | |
"type": "string", | |
"description": "The machine type to create.\n" | |
}, | |
"metadata": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "string" | |
}, | |
"description": "Metadata key/value pairs to make available from\nwithin the instance. Ssh keys attached in the Cloud Console will be removed.\nAdd them to your config in order to keep them attached to your instance.\n" | |
}, | |
"metadataFingerprint": { | |
"type": "string", | |
"description": "The unique fingerprint of the metadata.\n" | |
}, | |
"metadataStartupScript": { | |
"type": "string", | |
"description": "An alternative to using the\nstartup-script metadata key, except this one forces the instance to be recreated\n(thus re-running the script) if it is changed. This replaces the startup-script\nmetadata key on the created instance and thus the two mechanisms are not\nallowed to be used simultaneously. Users are free to use either mechanism - the\nonly distinction is that this separate attribute will cause a recreate on\nmodification. On import, `metadata_startup_script` will not be set - if you\nchoose to specify it you will see a diff immediately after import causing a\ndestroy/recreate operation. If importing an instance and specifying this value\nis desired, you will need to modify your state file.\n" | |
}, | |
"minCpuPlatform": { | |
"type": "string", | |
"description": "Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as\n`Intel Haswell` or `Intel Skylake`. See the complete list [here](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform).\n**Note**: `allow_stopping_for_update` must be set to true or your instance must have a `desired_status` of `TERMINATED` in order to update this field.\n" | |
}, | |
"name": { | |
"type": "string", | |
"description": "A unique name for the resource, required by GCE.\nChanging this forces a new resource to be created.\n" | |
}, | |
"networkInterfaces": { | |
"type": "array", | |
"items": { | |
"$ref": "#/types/gcp:compute/InstanceNetworkInterface:InstanceNetworkInterface" | |
}, | |
"description": "Networks to attach to the instance. This can\nbe specified multiple times. Structure is documented below.\n" | |
}, | |
"networkPerformanceConfig": { | |
"$ref": "#/types/gcp:compute/InstanceNetworkPerformanceConfig:InstanceNetworkPerformanceConfig", | |
"description": "Configures network performance settings for the instance. Structure is\ndocumented below. **Note**: `machine_type` must be a [supported type](https://cloud.google.com/compute/docs/networking/configure-vm-with-high-bandwidth-configuration),\nthe `image` used must include the [`GVNIC`](https://cloud.google.com/compute/docs/networking/using-gvnic#create-instance-gvnic-image)\nin `guest-os-features`, and `network_interface.0.nic-type` must be `GVNIC`\nin order for this setting to take effect.\n" | |
}, | |
"project": { | |
"type": "string", | |
"description": "The ID of the project in which the resource belongs. If it\nis not provided, the provider project is used.\n" | |
}, | |
"reservationAffinity": { | |
"$ref": "#/types/gcp:compute/InstanceReservationAffinity:InstanceReservationAffinity", | |
"description": "Specifies the reservations that this instance can consume from.\nStructure is documented below.\n" | |
}, | |
"resourcePolicies": { | |
"type": "string", | |
"description": "-- A list of self_links of resource policies to attach to the instance. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.\n" | |
}, | |
"scheduling": { | |
"$ref": "#/types/gcp:compute/InstanceScheduling:InstanceScheduling", | |
"description": "The scheduling strategy to use. More details about\nthis configuration option are detailed below.\n" | |
}, | |
"scratchDisks": { | |
"type": "array", | |
"items": { | |
"$ref": "#/types/gcp:compute/InstanceScratchDisk:InstanceScratchDisk" | |
}, | |
"description": "Scratch disks to attach to the instance. This can be\nspecified multiple times for multiple scratch disks. Structure is documented below.\n" | |
}, | |
"selfLink": { | |
"type": "string", | |
"description": "The URI of the created resource.\n" | |
}, | |
"serviceAccount": { | |
"$ref": "#/types/gcp:compute/InstanceServiceAccount:InstanceServiceAccount", | |
"description": "Service account to attach to the instance.\nStructure is documented below.\n**Note**: `allow_stopping_for_update` must be set to true or your instance must have a `desired_status` of `TERMINATED` in order to update this field.\n" | |
}, | |
"shieldedInstanceConfig": { | |
"$ref": "#/types/gcp:compute/InstanceShieldedInstanceConfig:InstanceShieldedInstanceConfig", | |
"description": "Enable [Shielded VM](https://cloud.google.com/security/shielded-cloud/shielded-vm) on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below.\n**Note**: `shielded_instance_config` can only be used with boot images with shielded vm support. See the complete list [here](https://cloud.google.com/compute/docs/images#shielded-images).\n**Note**: `allow_stopping_for_update` must be set to true or your instance must have a `desired_status` of `TERMINATED` in order to update this field.\n" | |
}, | |
"tags": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
}, | |
"description": "A list of network tags to attach to the instance.\n" | |
}, | |
"tagsFingerprint": { | |
"type": "string", | |
"description": "The unique fingerprint of the tags.\n" | |
}, | |
"zone": { | |
"type": "string", | |
"description": "The zone that the machine should be created in. If it is not provided, the provider zone is used.\n" | |
} | |
}, | |
"required": [ | |
"bootDisk", | |
"confidentialInstanceConfig", | |
"cpuPlatform", | |
"currentStatus", | |
"guestAccelerators", | |
"instanceId", | |
"labelFingerprint", | |
"machineType", | |
"metadataFingerprint", | |
"minCpuPlatform", | |
"name", | |
"networkInterfaces", | |
"project", | |
"reservationAffinity", | |
"scheduling", | |
"selfLink", | |
"shieldedInstanceConfig", | |
"tagsFingerprint", | |
"zone" | |
], | |
"inputProperties": { | |
"advancedMachineFeatures": { | |
"$ref": "#/types/gcp:compute/InstanceAdvancedMachineFeatures:InstanceAdvancedMachineFeatures", | |
"description": "Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below\n" | |
}, | |
"allowStoppingForUpdate": { | |
"type": "boolean", | |
"description": "If true, allows this prvider to stop the instance to update its properties.\nIf you try to update a property that requires stopping the instance without setting this field, the update will fail.\n" | |
}, | |
"attachedDisks": { | |
"type": "array", | |
"items": { | |
"$ref": "#/types/gcp:compute/InstanceAttachedDisk:InstanceAttachedDisk" | |
}, | |
"description": "Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.\n" | |
}, | |
"bootDisk": { | |
"$ref": "#/types/gcp:compute/InstanceBootDisk:InstanceBootDisk", | |
"description": "The boot disk for the instance.\nStructure is documented below.\n", | |
"willReplaceOnChanges": true | |
}, | |
"canIpForward": { | |
"type": "boolean", | |
"description": "Whether to allow sending and receiving of\npackets with non-matching source or destination IPs.\nThis defaults to false.\n" | |
}, | |
"confidentialInstanceConfig": { | |
"$ref": "#/types/gcp:compute/InstanceConfidentialInstanceConfig:InstanceConfidentialInstanceConfig", | |
"description": "Enable [Confidential Mode](https://cloud.google.com/compute/confidential-vm/docs/about-cvm) on this VM. Structure is documented below\n", | |
"willReplaceOnChanges": true | |
}, | |
"deletionProtection": { | |
"type": "boolean", | |
"description": "Enable deletion protection on this instance. Defaults to false.\n**Note:** you must disable deletion protection before removing the resource (e.g., via `pulumi destroy`), or the instance cannot be deleted and the provider run will not complete successfully.\n" | |
}, | |
"description": { | |
"type": "string", | |
"description": "A brief description of this resource.\n", | |
"willReplaceOnChanges": true | |
}, | |
"desiredStatus": { | |
"type": "string", | |
"description": "Desired status of the instance. Either\n`\"RUNNING\"` or `\"TERMINATED\"`.\n" | |
}, | |
"enableDisplay": { | |
"type": "boolean", | |
"description": "Enable [Virtual Displays](https://cloud.google.com/compute/docs/instances/enable-instance-virtual-display#verify_display_driver) on this instance.\n**Note**: `allow_stopping_for_update` must be set to true or your instance must have a `desired_status` of `TERMINATED` in order to update this field.\n" | |
}, | |
"guestAccelerators": { | |
"type": "array", | |
"items": { | |
"$ref": "#/types/gcp:compute/InstanceGuestAccelerator:InstanceGuestAccelerator" | |
}, | |
"description": "List of the type and count of accelerator cards attached to the instance. Structure documented below.\n**Note:** GPU accelerators can only be used with `on_host_maintenance` option set to TERMINATE.\n", | |
"willReplaceOnChanges": true | |
}, | |
"hostname": { | |
"type": "string", | |
"description": "A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid.\nValid format is a series of labels 1-63 characters long matching the regular expression `a-z`, concatenated with periods.\nThe entire hostname must not exceed 253 characters. Changing this forces a new resource to be created.\n", | |
"willReplaceOnChanges": true | |
}, | |
"labels": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "string" | |
}, | |
"description": "A map of key/value label pairs to assign to the instance.\n" | |
}, | |
"machineType": { | |
"type": "string", | |
"description": "The machine type to create.\n" | |
}, | |
"metadata": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "string" | |
}, | |
"description": "Metadata key/value pairs to make available from\nwithin the instance. Ssh keys attached in the Cloud Console will be removed.\nAdd them to your config in order to keep them attached to your instance.\n" | |
}, | |
"metadataStartupScript": { | |
"type": "string", | |
"description": "An alternative to using the\nstartup-script metadata key, except this one forces the instance to be recreated\n(thus re-running the script) if it is changed. This replaces the startup-script\nmetadata key on the created instance and thus the two mechanisms are not\nallowed to be used simultaneously. Users are free to use either mechanism - the\nonly distinction is that this separate attribute will cause a recreate on\nmodification. On import, `metadata_startup_script` will not be set - if you\nchoose to specify it you will see a diff immediately after import causing a\ndestroy/recreate operation. If importing an instance and specifying this value\nis desired, you will need to modify your state file.\n", | |
"willReplaceOnChanges": true | |
}, | |
"minCpuPlatform": { | |
"type": "string", | |
"description": "Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as\n`Intel Haswell` or `Intel Skylake`. See the complete list [here](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform).\n**Note**: `allow_stopping_for_update` must be set to true or your instance must have a `desired_status` of `TERMINATED` in order to update this field.\n" | |
}, | |
"name": { | |
"type": "string", | |
"description": "A unique name for the resource, required by GCE.\nChanging this forces a new resource to be created.\n", | |
"willReplaceOnChanges": true | |
}, | |
"networkInterfaces": { | |
"type": "array", | |
"items": { | |
"$ref": "#/types/gcp:compute/InstanceNetworkInterface:InstanceNetworkInterface" | |
}, | |
"description": "Networks to attach to the instance. This can\nbe specified multiple times. Structure is documented below.\n", | |
"willReplaceOnChanges": true | |
}, | |
"networkPerformanceConfig": { | |
"$ref": "#/types/gcp:compute/InstanceNetworkPerformanceConfig:InstanceNetworkPerformanceConfig", | |
"description": "Configures network performance settings for the instance. Structure is\ndocumented below. **Note**: `machine_type` must be a [supported type](https://cloud.google.com/compute/docs/networking/configure-vm-with-high-bandwidth-configuration),\nthe `image` used must include the [`GVNIC`](https://cloud.google.com/compute/docs/networking/using-gvnic#create-instance-gvnic-image)\nin `guest-os-features`, and `network_interface.0.nic-type` must be `GVNIC`\nin order for this setting to take effect.\n", | |
"willReplaceOnChanges": true | |
}, | |
"project": { | |
"type": "string", | |
"description": "The ID of the project in which the resource belongs. If it\nis not provided, the provider project is used.\n", | |
"willReplaceOnChanges": true | |
}, | |
"reservationAffinity": { | |
"$ref": "#/types/gcp:compute/InstanceReservationAffinity:InstanceReservationAffinity", | |
"description": "Specifies the reservations that this instance can consume from.\nStructure is documented below.\n", | |
"willReplaceOnChanges": true | |
}, | |
"resourcePolicies": { | |
"type": "string", | |
"description": "-- A list of self_links of resource policies to attach to the instance. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.\n" | |
}, | |
"scheduling": { | |
"$ref": "#/types/gcp:compute/InstanceScheduling:InstanceScheduling", | |
"description": "The scheduling strategy to use. More details about\nthis configuration option are detailed below.\n" | |
}, | |
"scratchDisks": { | |
"type": "array", | |
"items": { | |
"$ref": "#/types/gcp:compute/InstanceScratchDisk:InstanceScratchDisk" | |
}, | |
"description": "Scratch disks to attach to the instance. This can be\nspecified multiple times for multiple scratch disks. Structure is documented below.\n", | |
"willReplaceOnChanges": true | |
}, | |
"serviceAccount": { | |
"$ref": "#/types/gcp:compute/InstanceServiceAccount:InstanceServiceAccount", | |
"description": "Service account to attach to the instance.\nStructure is documented below.\n**Note**: `allow_stopping_for_update` must be set to true or your instance must have a `desired_status` of `TERMINATED` in order to update this field.\n" | |
}, | |
"shieldedInstanceConfig": { | |
"$ref": "#/types/gcp:compute/InstanceShieldedInstanceConfig:InstanceShieldedInstanceConfig", | |
"description": "Enable [Shielded VM](https://cloud.google.com/security/shielded-cloud/shielded-vm) on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below.\n**Note**: `shielded_instance_config` can only be used with boot images with shielded vm support. See the complete list [here](https://cloud.google.com/compute/docs/images#shielded-images).\n**Note**: `allow_stopping_for_update` must be set to true or your instance must have a `desired_status` of `TERMINATED` in order to update this field.\n" | |
}, | |
"tags": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
}, | |
"description": "A list of network tags to attach to the instance.\n" | |
}, | |
"zone": { | |
"type": "string", | |
"description": "The zone that the machine should be created in. If it is not provided, the provider zone is used.\n", | |
"willReplaceOnChanges": true | |
} | |
}, | |
"requiredInputs": [ | |
"bootDisk", | |
"machineType", | |
"networkInterfaces" | |
], | |
"stateInputs": { | |
"description": "Input properties used for looking up and filtering Instance resources.\n", | |
"properties": { | |
"advancedMachineFeatures": { | |
"$ref": "#/types/gcp:compute/InstanceAdvancedMachineFeatures:InstanceAdvancedMachineFeatures", | |
"description": "Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below\n" | |
}, | |
"allowStoppingForUpdate": { | |
"type": "boolean", | |
"description": "If true, allows this prvider to stop the instance to update its properties.\nIf you try to update a property that requires stopping the instance without setting this field, the update will fail.\n" | |
}, | |
"attachedDisks": { | |
"type": "array", | |
"items": { | |
"$ref": "#/types/gcp:compute/InstanceAttachedDisk:InstanceAttachedDisk" | |
}, | |
"description": "Additional disks to attach to the instance. Can be repeated multiple times for multiple disks. Structure is documented below.\n" | |
}, | |
"bootDisk": { | |
"$ref": "#/types/gcp:compute/InstanceBootDisk:InstanceBootDisk", | |
"description": "The boot disk for the instance.\nStructure is documented below.\n", | |
"willReplaceOnChanges": true | |
}, | |
"canIpForward": { | |
"type": "boolean", | |
"description": "Whether to allow sending and receiving of\npackets with non-matching source or destination IPs.\nThis defaults to false.\n" | |
}, | |
"confidentialInstanceConfig": { | |
"$ref": "#/types/gcp:compute/InstanceConfidentialInstanceConfig:InstanceConfidentialInstanceConfig", | |
"description": "Enable [Confidential Mode](https://cloud.google.com/compute/confidential-vm/docs/about-cvm) on this VM. Structure is documented below\n", | |
"willReplaceOnChanges": true | |
}, | |
"cpuPlatform": { | |
"type": "string", | |
"description": "The CPU platform used by this instance.\n" | |
}, | |
"currentStatus": { | |
"type": "string", | |
"description": "Current status of the instance.\n" | |
}, | |
"deletionProtection": { | |
"type": "boolean", | |
"description": "Enable deletion protection on this instance. Defaults to false.\n**Note:** you must disable deletion protection before removing the resource (e.g., via `pulumi destroy`), or the instance cannot be deleted and the provider run will not complete successfully.\n" | |
}, | |
"description": { | |
"type": "string", | |
"description": "A brief description of this resource.\n", | |
"willReplaceOnChanges": true | |
}, | |
"desiredStatus": { | |
"type": "string", | |
"description": "Desired status of the instance. Either\n`\"RUNNING\"` or `\"TERMINATED\"`.\n" | |
}, | |
"enableDisplay": { | |
"type": "boolean", | |
"description": "Enable [Virtual Displays](https://cloud.google.com/compute/docs/instances/enable-instance-virtual-display#verify_display_driver) on this instance.\n**Note**: `allow_stopping_for_update` must be set to true or your instance must have a `desired_status` of `TERMINATED` in order to update this field.\n" | |
}, | |
"guestAccelerators": { | |
"type": "array", | |
"items": { | |
"$ref": "#/types/gcp:compute/InstanceGuestAccelerator:InstanceGuestAccelerator" | |
}, | |
"description": "List of the type and count of accelerator cards attached to the instance. Structure documented below.\n**Note:** GPU accelerators can only be used with `on_host_maintenance` option set to TERMINATE.\n", | |
"willReplaceOnChanges": true | |
}, | |
"hostname": { | |
"type": "string", | |
"description": "A custom hostname for the instance. Must be a fully qualified DNS name and RFC-1035-valid.\nValid format is a series of labels 1-63 characters long matching the regular expression `a-z`, concatenated with periods.\nThe entire hostname must not exceed 253 characters. Changing this forces a new resource to be created.\n", | |
"willReplaceOnChanges": true | |
}, | |
"instanceId": { | |
"type": "string", | |
"description": "The server-assigned unique identifier of this instance.\n" | |
}, | |
"labelFingerprint": { | |
"type": "string", | |
"description": "The unique fingerprint of the labels.\n" | |
}, | |
"labels": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "string" | |
}, | |
"description": "A map of key/value label pairs to assign to the instance.\n" | |
}, | |
"machineType": { | |
"type": "string", | |
"description": "The machine type to create.\n" | |
}, | |
"metadata": { | |
"type": "object", | |
"additionalProperties": { | |
"type": "string" | |
}, | |
"description": "Metadata key/value pairs to make available from\nwithin the instance. Ssh keys attached in the Cloud Console will be removed.\nAdd them to your config in order to keep them attached to your instance.\n" | |
}, | |
"metadataFingerprint": { | |
"type": "string", | |
"description": "The unique fingerprint of the metadata.\n" | |
}, | |
"metadataStartupScript": { | |
"type": "string", | |
"description": "An alternative to using the\nstartup-script metadata key, except this one forces the instance to be recreated\n(thus re-running the script) if it is changed. This replaces the startup-script\nmetadata key on the created instance and thus the two mechanisms are not\nallowed to be used simultaneously. Users are free to use either mechanism - the\nonly distinction is that this separate attribute will cause a recreate on\nmodification. On import, `metadata_startup_script` will not be set - if you\nchoose to specify it you will see a diff immediately after import causing a\ndestroy/recreate operation. If importing an instance and specifying this value\nis desired, you will need to modify your state file.\n", | |
"willReplaceOnChanges": true | |
}, | |
"minCpuPlatform": { | |
"type": "string", | |
"description": "Specifies a minimum CPU platform for the VM instance. Applicable values are the friendly names of CPU platforms, such as\n`Intel Haswell` or `Intel Skylake`. See the complete list [here](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform).\n**Note**: `allow_stopping_for_update` must be set to true or your instance must have a `desired_status` of `TERMINATED` in order to update this field.\n" | |
}, | |
"name": { | |
"type": "string", | |
"description": "A unique name for the resource, required by GCE.\nChanging this forces a new resource to be created.\n", | |
"willReplaceOnChanges": true | |
}, | |
"networkInterfaces": { | |
"type": "array", | |
"items": { | |
"$ref": "#/types/gcp:compute/InstanceNetworkInterface:InstanceNetworkInterface" | |
}, | |
"description": "Networks to attach to the instance. This can\nbe specified multiple times. Structure is documented below.\n", | |
"willReplaceOnChanges": true | |
}, | |
"networkPerformanceConfig": { | |
"$ref": "#/types/gcp:compute/InstanceNetworkPerformanceConfig:InstanceNetworkPerformanceConfig", | |
"description": "Configures network performance settings for the instance. Structure is\ndocumented below. **Note**: `machine_type` must be a [supported type](https://cloud.google.com/compute/docs/networking/configure-vm-with-high-bandwidth-configuration),\nthe `image` used must include the [`GVNIC`](https://cloud.google.com/compute/docs/networking/using-gvnic#create-instance-gvnic-image)\nin `guest-os-features`, and `network_interface.0.nic-type` must be `GVNIC`\nin order for this setting to take effect.\n", | |
"willReplaceOnChanges": true | |
}, | |
"project": { | |
"type": "string", | |
"description": "The ID of the project in which the resource belongs. If it\nis not provided, the provider project is used.\n", | |
"willReplaceOnChanges": true | |
}, | |
"reservationAffinity": { | |
"$ref": "#/types/gcp:compute/InstanceReservationAffinity:InstanceReservationAffinity", | |
"description": "Specifies the reservations that this instance can consume from.\nStructure is documented below.\n", | |
"willReplaceOnChanges": true | |
}, | |
"resourcePolicies": { | |
"type": "string", | |
"description": "-- A list of self_links of resource policies to attach to the instance. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.\n" | |
}, | |
"scheduling": { | |
"$ref": "#/types/gcp:compute/InstanceScheduling:InstanceScheduling", | |
"description": "The scheduling strategy to use. More details about\nthis configuration option are detailed below.\n" | |
}, | |
"scratchDisks": { | |
"type": "array", | |
"items": { | |
"$ref": "#/types/gcp:compute/InstanceScratchDisk:InstanceScratchDisk" | |
}, | |
"description": "Scratch disks to attach to the instance. This can be\nspecified multiple times for multiple scratch disks. Structure is documented below.\n", | |
"willReplaceOnChanges": true | |
}, | |
"selfLink": { | |
"type": "string", | |
"description": "The URI of the created resource.\n" | |
}, | |
"serviceAccount": { | |
"$ref": "#/types/gcp:compute/InstanceServiceAccount:InstanceServiceAccount", | |
"description": "Service account to attach to the instance.\nStructure is documented below.\n**Note**: `allow_stopping_for_update` must be set to true or your instance must have a `desired_status` of `TERMINATED` in order to update this field.\n" | |
}, | |
"shieldedInstanceConfig": { | |
"$ref": "#/types/gcp:compute/InstanceShieldedInstanceConfig:InstanceShieldedInstanceConfig", | |
"description": "Enable [Shielded VM](https://cloud.google.com/security/shielded-cloud/shielded-vm) on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below.\n**Note**: `shielded_instance_config` can only be used with boot images with shielded vm support. See the complete list [here](https://cloud.google.com/compute/docs/images#shielded-images).\n**Note**: `allow_stopping_for_update` must be set to true or your instance must have a `desired_status` of `TERMINATED` in order to update this field.\n" | |
}, | |
"tags": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
}, | |
"description": "A list of network tags to attach to the instance.\n" | |
}, | |
"tagsFingerprint": { | |
"type": "string", | |
"description": "The unique fingerprint of the tags.\n" | |
}, | |
"zone": { | |
"type": "string", | |
"description": "The zone that the machine should be created in. If it is not provided, the provider zone is used.\n", | |
"willReplaceOnChanges": true | |
} | |
}, | |
"type": "object" | |
} | |
} | |
}, | |
"types": { | |
"gcp:compute/InstanceAdvancedMachineFeatures:InstanceAdvancedMachineFeatures": { | |
"properties": { | |
"enableNestedVirtualization": { | |
"type": "boolean", | |
"description": "Defines whether the instance should have nested virtualization enabled. Defaults to false.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
}, | |
"threadsPerCore": { | |
"type": "integer", | |
"description": "he number of threads per physical core. To disable [simultaneous multithreading (SMT)](https://cloud.google.com/compute/docs/instances/disabling-smt) set this to 1.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
}, | |
"visibleCoreCount": { | |
"type": "integer", | |
"description": ") The number of physical cores to expose to an instance. [visible cores info (VC)](https://cloud.google.com/compute/docs/instances/customize-visible-cores).\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
} | |
}, | |
"type": "object" | |
}, | |
"gcp:compute/InstanceAttachedDisk:InstanceAttachedDisk": { | |
"properties": { | |
"deviceName": { | |
"type": "string", | |
"description": "Name with which the attached disk will be accessible\nunder `/dev/disk/by-id/google-*`\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
}, | |
"diskEncryptionKeyRaw": { | |
"type": "string", | |
"description": "A 256-bit [customer-supplied encryption key]\n(<https://cloud.google.com/compute/docs/disks/customer-supplied-encryption>),\nencoded in [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)\nto encrypt this disk. Only one of `kms_key_self_link` and `disk_encryption_key_raw` may be set.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
}, | |
"diskEncryptionKeySha256": { | |
"type": "string", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
}, | |
"kmsKeySelfLink": { | |
"type": "string", | |
"description": "The self_link of the encryption key that is\nstored in Google Cloud KMS to encrypt this disk. Only one of `kms_key_self_link`\nand `disk_encryption_key_raw` may be set.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
}, | |
"mode": { | |
"type": "string", | |
"description": "Either \"READ_ONLY\" or \"READ_WRITE\", defaults to \"READ_WRITE\"\nIf you have a persistent disk with data that you want to share\nbetween multiple instances, detach it from any read-write instances and\nattach it to one or more instances in read-only mode.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
}, | |
"source": { | |
"type": "string", | |
"description": "The name or self_link of the disk to attach to this instance.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
} | |
}, | |
"type": "object", | |
"required": [ | |
"source" | |
], | |
"language": { | |
"nodejs": { | |
"requiredOutputs": [ | |
"deviceName", | |
"diskEncryptionKeySha256", | |
"kmsKeySelfLink", | |
"source" | |
] | |
} | |
} | |
}, | |
"gcp:compute/InstanceBootDisk:InstanceBootDisk": { | |
"properties": { | |
"autoDelete": { | |
"type": "boolean", | |
"description": "Whether the disk will be auto-deleted when the instance\nis deleted. Defaults to true.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
}, | |
"willReplaceOnChanges": true | |
}, | |
"deviceName": { | |
"type": "string", | |
"description": "Name with which the attached disk will be accessible\nunder `/dev/disk/by-id/google-*`\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
}, | |
"willReplaceOnChanges": true | |
}, | |
"diskEncryptionKeyRaw": { | |
"type": "string", | |
"description": "A 256-bit [customer-supplied encryption key]\n(<https://cloud.google.com/compute/docs/disks/customer-supplied-encryption>),\nencoded in [RFC 4648 base64](https://tools.ietf.org/html/rfc4648#section-4)\nto encrypt this disk. Only one of `kms_key_self_link` and `disk_encryption_key_raw` may be set.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
}, | |
"willReplaceOnChanges": true | |
}, | |
"diskEncryptionKeySha256": { | |
"type": "string", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
}, | |
"initializeParams": { | |
"$ref": "#/types/gcp:compute/InstanceBootDiskInitializeParams:InstanceBootDiskInitializeParams", | |
"description": "Parameters for a new disk that will be created\nalongside the new instance. Either `initialize_params` or `source` must be set.\nStructure is documented below.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
}, | |
"willReplaceOnChanges": true | |
}, | |
"kmsKeySelfLink": { | |
"type": "string", | |
"description": "The self_link of the encryption key that is\nstored in Google Cloud KMS to encrypt this disk. Only one of `kms_key_self_link`\nand `disk_encryption_key_raw` may be set.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
}, | |
"willReplaceOnChanges": true | |
}, | |
"mode": { | |
"type": "string", | |
"description": "Either \"READ_ONLY\" or \"READ_WRITE\", defaults to \"READ_WRITE\"\nIf you have a persistent disk with data that you want to share\nbetween multiple instances, detach it from any read-write instances and\nattach it to one or more instances in read-only mode.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
}, | |
"willReplaceOnChanges": true | |
}, | |
"source": { | |
"type": "string", | |
"description": "The name or self_link of the disk to attach to this instance.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
}, | |
"willReplaceOnChanges": true | |
} | |
}, | |
"type": "object", | |
"language": { | |
"nodejs": { | |
"requiredOutputs": [ | |
"deviceName", | |
"diskEncryptionKeySha256", | |
"initializeParams", | |
"kmsKeySelfLink", | |
"source" | |
] | |
} | |
} | |
}, | |
"gcp:compute/InstanceBootDiskInitializeParams:InstanceBootDiskInitializeParams": { | |
"properties": { | |
"image": { | |
"type": "string", | |
"description": "The image from which to initialize this disk. This can be\none of: the image's `self_link`, `projects/{project}/global/images/{image}`,\n`projects/{project}/global/images/family/{family}`, `global/images/{image}`,\n`global/images/family/{family}`, `family/{family}`, `{project}/{family}`,\n`{project}/{image}`, `{family}`, or `{image}`. If referred by family, the\nimages names must include the family name. If they don't, use the\n[gcp.compute.Image data source](https://www.terraform.io/docs/providers/google/d/compute_image.html).\nFor instance, the image `centos-6-v20180104` includes its family name `centos-6`.\nThese images can be referred by family name here.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
}, | |
"willReplaceOnChanges": true | |
}, | |
"labels": { | |
"type": "object", | |
"additionalProperties": { | |
"$ref": "pulumi.json#/Any" | |
}, | |
"description": "A map of key/value label pairs to assign to the instance.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
}, | |
"willReplaceOnChanges": true | |
}, | |
"size": { | |
"type": "integer", | |
"description": "The size of the image in gigabytes. If not specified, it\nwill inherit the size of its base image.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
}, | |
"willReplaceOnChanges": true | |
}, | |
"type": { | |
"type": "string", | |
"description": "The type of reservation from which this instance can consume resources.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
}, | |
"willReplaceOnChanges": true | |
} | |
}, | |
"type": "object", | |
"language": { | |
"nodejs": { | |
"requiredOutputs": [ | |
"image", | |
"labels", | |
"size", | |
"type" | |
] | |
} | |
} | |
}, | |
"gcp:compute/InstanceConfidentialInstanceConfig:InstanceConfidentialInstanceConfig": { | |
"properties": { | |
"enableConfidentialCompute": { | |
"type": "boolean", | |
"description": "Defines whether the instance should have confidential compute enabled. `on_host_maintenance` has to be set to TERMINATE or this will fail to create the VM.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
} | |
}, | |
"type": "object", | |
"required": [ | |
"enableConfidentialCompute" | |
] | |
}, | |
"gcp:compute/InstanceGuestAccelerator:InstanceGuestAccelerator": { | |
"properties": { | |
"count": { | |
"type": "integer", | |
"description": "The number of the guest accelerator cards exposed to this instance.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
}, | |
"willReplaceOnChanges": true | |
}, | |
"type": { | |
"type": "string", | |
"description": "The type of reservation from which this instance can consume resources.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
}, | |
"willReplaceOnChanges": true | |
} | |
}, | |
"type": "object", | |
"required": [ | |
"count", | |
"type" | |
] | |
}, | |
"gcp:compute/InstanceNetworkInterface:InstanceNetworkInterface": { | |
"properties": { | |
"accessConfigs": { | |
"type": "array", | |
"items": { | |
"$ref": "#/types/gcp:compute/InstanceNetworkInterfaceAccessConfig:InstanceNetworkInterfaceAccessConfig" | |
}, | |
"description": "Access configurations, i.e. IPs via which this\ninstance can be accessed via the Internet. Omit to ensure that the instance\nis not accessible from the Internet. If omitted, ssh will not\nwork unless this provider can send traffic to the instance's network (e.g. via\ntunnel or because it is running on another cloud instance on that network).\nThis block can be repeated multiple times. Structure documented below.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
}, | |
"aliasIpRanges": { | |
"type": "array", | |
"items": { | |
"$ref": "#/types/gcp:compute/InstanceNetworkInterfaceAliasIpRange:InstanceNetworkInterfaceAliasIpRange" | |
}, | |
"description": "An\narray of alias IP ranges for this network interface. Can only be specified for network\ninterfaces on subnet-mode networks. Structure documented below.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
}, | |
"ipv6AccessConfigs": { | |
"type": "array", | |
"items": { | |
"$ref": "#/types/gcp:compute/InstanceNetworkInterfaceIpv6AccessConfig:InstanceNetworkInterfaceIpv6AccessConfig" | |
}, | |
"description": "An array of IPv6 access configurations for this interface.\nCurrently, only one IPv6 access config, DIRECT_IPV6, is supported. If there is no ipv6AccessConfig\nspecified, then this instance will have no external IPv6 Internet access. Structure documented below.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
}, | |
"ipv6AccessType": { | |
"type": "string", | |
"description": "One of EXTERNAL, INTERNAL to indicate whether the IP can be accessed from the Internet.\nThis field is always inherited from its subnetwork.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
}, | |
"name": { | |
"type": "string", | |
"description": "A unique name for the resource, required by GCE.\nChanging this forces a new resource to be created.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
}, | |
"network": { | |
"type": "string", | |
"description": "The name or self_link of the network to attach this interface to.\nEither `network` or `subnetwork` must be provided. If network isn't provided it will\nbe inferred from the subnetwork.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
}, | |
"networkIp": { | |
"type": "string", | |
"description": "The private IP address to assign to the instance. If\nempty, the address will be automatically assigned.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
}, | |
"nicType": { | |
"type": "string", | |
"description": "The type of vNIC to be used on this interface. Possible values: GVNIC, VIRTIO_NET.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
}, | |
"willReplaceOnChanges": true | |
}, | |
"queueCount": { | |
"type": "integer", | |
"description": "The networking queue count that's specified by users for the network interface. Both Rx and Tx queues will be set to this number. It will be empty if not specified.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
}, | |
"willReplaceOnChanges": true | |
}, | |
"stackType": { | |
"type": "string", | |
"description": "The stack type for this network interface to identify whether the IPv6 feature is enabled or not. Values are IPV4_IPV6 or IPV4_ONLY. If not specified, IPV4_ONLY will be used.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
}, | |
"subnetwork": { | |
"type": "string", | |
"description": "The name or self_link of the subnetwork to attach this\ninterface to. Either `network` or `subnetwork` must be provided. If network isn't provided\nit will be inferred from the subnetwork. The subnetwork must exist in the same region this\ninstance will be created in. If the network resource is in\n[legacy](https://cloud.google.com/vpc/docs/legacy) mode, do not specify this field. If the\nnetwork is in auto subnet mode, specifying the subnetwork is optional. If the network is\nin custom subnet mode, specifying the subnetwork is required.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
}, | |
"subnetworkProject": { | |
"type": "string", | |
"description": "The project in which the subnetwork belongs.\nIf the `subnetwork` is a self_link, this field is ignored in favor of the project\ndefined in the subnetwork self_link. If the `subnetwork` is a name and this\nfield is not provided, the provider project is used.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
} | |
}, | |
"type": "object", | |
"language": { | |
"nodejs": { | |
"requiredOutputs": [ | |
"ipv6AccessType", | |
"name", | |
"network", | |
"networkIp", | |
"stackType", | |
"subnetwork", | |
"subnetworkProject" | |
] | |
} | |
} | |
}, | |
"gcp:compute/InstanceNetworkInterfaceAccessConfig:InstanceNetworkInterfaceAccessConfig": { | |
"properties": { | |
"natIp": { | |
"type": "string", | |
"description": "The IP address that will be 1:1 mapped to the instance's\nnetwork ip. If not given, one will be generated.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
}, | |
"networkTier": { | |
"type": "string", | |
"description": "The service-level to be provided for IPv6 traffic when the\nsubnet has an external subnet. Only PREMIUM or STANDARD tier is valid for IPv6.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
}, | |
"publicPtrDomainName": { | |
"type": "string", | |
"description": "The domain name to be used when creating DNSv6\nrecords for the external IPv6 ranges..\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
} | |
}, | |
"type": "object", | |
"language": { | |
"nodejs": { | |
"requiredOutputs": [ | |
"natIp", | |
"networkTier" | |
] | |
} | |
} | |
}, | |
"gcp:compute/InstanceNetworkInterfaceAliasIpRange:InstanceNetworkInterfaceAliasIpRange": { | |
"properties": { | |
"ipCidrRange": { | |
"type": "string", | |
"description": "The IP CIDR range represented by this alias IP range. This IP CIDR range\nmust belong to the specified subnetwork and cannot contain IP addresses reserved by\nsystem or used by other network interfaces. This range may be a single IP address\n(e.g. 10.2.3.4), a netmask (e.g. /24) or a CIDR format string (e.g. 10.1.2.0/24).\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
}, | |
"subnetworkRangeName": { | |
"type": "string", | |
"description": "The subnetwork secondary range name specifying\nthe secondary range from which to allocate the IP CIDR range for this alias IP\nrange. If left unspecified, the primary range of the subnetwork will be used.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
} | |
}, | |
"type": "object", | |
"required": [ | |
"ipCidrRange" | |
] | |
}, | |
"gcp:compute/InstanceNetworkInterfaceIpv6AccessConfig:InstanceNetworkInterfaceIpv6AccessConfig": { | |
"properties": { | |
"externalIpv6": { | |
"type": "string", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
}, | |
"externalIpv6PrefixLength": { | |
"type": "string", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
}, | |
"networkTier": { | |
"type": "string", | |
"description": "The service-level to be provided for IPv6 traffic when the\nsubnet has an external subnet. Only PREMIUM or STANDARD tier is valid for IPv6.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
}, | |
"publicPtrDomainName": { | |
"type": "string", | |
"description": "The domain name to be used when creating DNSv6\nrecords for the external IPv6 ranges..\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
} | |
}, | |
"type": "object", | |
"required": [ | |
"networkTier" | |
], | |
"language": { | |
"nodejs": { | |
"requiredOutputs": [ | |
"externalIpv6", | |
"externalIpv6PrefixLength", | |
"networkTier" | |
] | |
} | |
} | |
}, | |
"gcp:compute/InstanceNetworkPerformanceConfig:InstanceNetworkPerformanceConfig": { | |
"properties": { | |
"totalEgressBandwidthTier": { | |
"type": "string", | |
"description": "The egress bandwidth tier to enable.\nPossible values: TIER_1, DEFAULT\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
}, | |
"willReplaceOnChanges": true | |
} | |
}, | |
"type": "object", | |
"required": [ | |
"totalEgressBandwidthTier" | |
] | |
}, | |
"gcp:compute/InstanceReservationAffinity:InstanceReservationAffinity": { | |
"properties": { | |
"specificReservation": { | |
"$ref": "#/types/gcp:compute/InstanceReservationAffinitySpecificReservation:InstanceReservationAffinitySpecificReservation", | |
"description": "Specifies the label selector for the reservation to use..\nStructure is documented below.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
}, | |
"willReplaceOnChanges": true | |
}, | |
"type": { | |
"type": "string", | |
"description": "The type of reservation from which this instance can consume resources.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
}, | |
"willReplaceOnChanges": true | |
} | |
}, | |
"type": "object", | |
"required": [ | |
"type" | |
] | |
}, | |
"gcp:compute/InstanceReservationAffinitySpecificReservation:InstanceReservationAffinitySpecificReservation": { | |
"properties": { | |
"key": { | |
"type": "string", | |
"description": "Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify compute.googleapis.com/reservation-name as the key and specify the name of your reservation as the only value.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
}, | |
"willReplaceOnChanges": true | |
}, | |
"values": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
}, | |
"description": "Corresponds to the label values of a reservation resource.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
}, | |
"willReplaceOnChanges": true | |
} | |
}, | |
"type": "object", | |
"required": [ | |
"key", | |
"values" | |
] | |
}, | |
"gcp:compute/InstanceScheduling:InstanceScheduling": { | |
"properties": { | |
"automaticRestart": { | |
"type": "boolean", | |
"description": "Specifies if the instance should be\nrestarted if it was terminated by Compute Engine (not a user).\nDefaults to true.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
}, | |
"instanceTerminationAction": { | |
"type": "string", | |
"description": "Describe the type of termination action for `SPOT` VM. Can be `STOP` or `DELETE`. Read more on [here](https://cloud.google.com/compute/docs/instances/create-use-spot)\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
}, | |
"minNodeCpus": { | |
"type": "integer", | |
"description": "The minimum number of virtual CPUs this instance will consume when running on a sole-tenant node.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
}, | |
"nodeAffinities": { | |
"type": "array", | |
"items": { | |
"$ref": "#/types/gcp:compute/InstanceSchedulingNodeAffinity:InstanceSchedulingNodeAffinity" | |
}, | |
"description": "Specifies node affinities or anti-affinities\nto determine which sole-tenant nodes your instances and managed instance\ngroups will use as host systems. Read more on sole-tenant node creation\n[here](https://cloud.google.com/compute/docs/nodes/create-nodes).\nStructure documented below.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
}, | |
"onHostMaintenance": { | |
"type": "string", | |
"description": "Describes maintenance behavior for the\ninstance. Can be MIGRATE or TERMINATE, for more info, read\n[here](https://cloud.google.com/compute/docs/instances/setting-instance-scheduling-options).\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
}, | |
"preemptible": { | |
"type": "boolean", | |
"description": "Specifies if the instance is preemptible.\nIf this field is set to true, then `automatic_restart` must be\nset to false. Defaults to false.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
}, | |
"willReplaceOnChanges": true | |
}, | |
"provisioningModel": { | |
"type": "string", | |
"description": "Describe the type of preemptible VM. This field accepts the value `STANDARD` or `SPOT`. If the value is `STANDARD`, there will be no discount. If this is set to `SPOT`,\n`preemptible` should be `true` and `auto_restart` should be\n`false`. For more info about\n`SPOT`, read [here](https://cloud.google.com/compute/docs/instances/spot)\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
}, | |
"willReplaceOnChanges": true | |
} | |
}, | |
"type": "object", | |
"language": { | |
"nodejs": { | |
"requiredOutputs": [ | |
"onHostMaintenance", | |
"provisioningModel" | |
] | |
} | |
} | |
}, | |
"gcp:compute/InstanceSchedulingNodeAffinity:InstanceSchedulingNodeAffinity": { | |
"properties": { | |
"key": { | |
"type": "string", | |
"description": "Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, specify compute.googleapis.com/reservation-name as the key and specify the name of your reservation as the only value.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
}, | |
"operator": { | |
"type": "string", | |
"description": "The operator. Can be `IN` for node-affinities\nor `NOT_IN` for anti-affinities.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
}, | |
"values": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
}, | |
"description": "Corresponds to the label values of a reservation resource.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
} | |
}, | |
"type": "object", | |
"required": [ | |
"key", | |
"operator", | |
"values" | |
] | |
}, | |
"gcp:compute/InstanceScratchDisk:InstanceScratchDisk": { | |
"properties": { | |
"interface": { | |
"type": "string", | |
"description": "The disk interface to use for attaching this disk; either SCSI or NVME.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
} | |
}, | |
"type": "object", | |
"required": [ | |
"interface" | |
] | |
}, | |
"gcp:compute/InstanceServiceAccount:InstanceServiceAccount": { | |
"properties": { | |
"email": { | |
"type": "string", | |
"description": "The service account e-mail address. If not given, the\ndefault Google Compute Engine service account is used.\n**Note**: `allow_stopping_for_update` must be set to true or your instance must have a `desired_status` of `TERMINATED` in order to update this field.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
}, | |
"scopes": { | |
"type": "array", | |
"items": { | |
"type": "string" | |
}, | |
"description": "A list of service scopes. Both OAuth2 URLs and gcloud\nshort names are supported. To allow full access to all Cloud APIs, use the\n`cloud-platform` scope. See a complete list of scopes [here](https://cloud.google.com/sdk/gcloud/reference/alpha/compute/instances/set-scopes#--scopes).\n**Note**: `allow_stopping_for_update` must be set to true or your instance must have a `desired_status` of `TERMINATED` in order to update this field.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
} | |
}, | |
"type": "object", | |
"required": [ | |
"scopes" | |
], | |
"language": { | |
"nodejs": { | |
"requiredOutputs": [ | |
"email", | |
"scopes" | |
] | |
} | |
} | |
}, | |
"gcp:compute/InstanceShieldedInstanceConfig:InstanceShieldedInstanceConfig": { | |
"properties": { | |
"enableIntegrityMonitoring": { | |
"type": "boolean", | |
"description": "-- Compare the most recent boot measurements to the integrity policy baseline and return a pair of pass/fail results depending on whether they match or not. Defaults to true.\n**Note**: `allow_stopping_for_update` must be set to true or your instance must have a `desired_status` of `TERMINATED` in order to update this field.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
}, | |
"enableSecureBoot": { | |
"type": "boolean", | |
"description": "-- Verify the digital signature of all boot components, and halt the boot process if signature verification fails. Defaults to false.\n**Note**: `allow_stopping_for_update` must be set to true or your instance must have a `desired_status` of `TERMINATED` in order to update this field.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
}, | |
"enableVtpm": { | |
"type": "boolean", | |
"description": "-- Use a virtualized trusted platform module, which is a specialized computer chip you can use to encrypt objects like keys and certificates. Defaults to true.\n**Note**: `allow_stopping_for_update` must be set to true or your instance must have a `desired_status` of `TERMINATED` in order to update this field.\n", | |
"language": { | |
"python": { | |
"mapCase": false | |
} | |
} | |
} | |
}, | |
"type": "object" | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment