@pulumi/gcp 6.30.0 → 6.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bigquery/connection.d.ts +14 -14
- package/bigquery/connection.js +14 -14
- package/bigquery/connectionIamBinding.d.ts +214 -0
- package/bigquery/connectionIamBinding.js +155 -0
- package/bigquery/connectionIamBinding.js.map +1 -0
- package/bigquery/connectionIamMember.d.ts +214 -0
- package/bigquery/connectionIamMember.js +155 -0
- package/bigquery/connectionIamMember.js.map +1 -0
- package/bigquery/connectionIamPolicy.d.ts +204 -0
- package/bigquery/connectionIamPolicy.js +148 -0
- package/bigquery/connectionIamPolicy.js.map +1 -0
- package/bigquery/index.d.ts +3 -0
- package/bigquery/index.js +15 -0
- package/bigquery/index.js.map +1 -1
- package/billing/budget.d.ts +46 -0
- package/billing/budget.js +46 -0
- package/billing/budget.js.map +1 -1
- package/certificateauthority/authority.d.ts +85 -23
- package/certificateauthority/authority.js +56 -17
- package/certificateauthority/authority.js.map +1 -1
- package/certificateauthority/certificate.d.ts +14 -5
- package/certificateauthority/certificate.js.map +1 -1
- package/certificateauthority/getAuthority.d.ts +2 -0
- package/certificateauthority/getAuthority.js.map +1 -1
- package/cloudfunctions/function.d.ts +4 -3
- package/cloudfunctions/function.js +1 -0
- package/cloudfunctions/function.js.map +1 -1
- package/cloudfunctionsv2/function.d.ts +6 -2
- package/cloudfunctionsv2/function.js +6 -2
- package/cloudfunctionsv2/function.js.map +1 -1
- package/cloudrun/service.d.ts +424 -0
- package/cloudrun/service.js +424 -0
- package/cloudrun/service.js.map +1 -1
- package/cloudtasks/index.d.ts +3 -0
- package/cloudtasks/index.js +15 -0
- package/cloudtasks/index.js.map +1 -1
- package/cloudtasks/queueIamBinding.d.ts +190 -0
- package/cloudtasks/queueIamBinding.js +149 -0
- package/cloudtasks/queueIamBinding.js.map +1 -0
- package/cloudtasks/queueIamMember.d.ts +190 -0
- package/cloudtasks/queueIamMember.js +149 -0
- package/cloudtasks/queueIamMember.js.map +1 -0
- package/cloudtasks/queueIamPolicy.d.ts +180 -0
- package/cloudtasks/queueIamPolicy.js +142 -0
- package/cloudtasks/queueIamPolicy.js.map +1 -0
- package/compute/globalForwardingRule.d.ts +17 -2
- package/compute/globalForwardingRule.js +17 -2
- package/compute/globalForwardingRule.js.map +1 -1
- package/compute/networkEndpointGroup.d.ts +6 -3
- package/compute/networkEndpointGroup.js.map +1 -1
- package/dataproc/autoscalingPolicyIamBinding.d.ts +208 -0
- package/dataproc/autoscalingPolicyIamBinding.js +155 -0
- package/dataproc/autoscalingPolicyIamBinding.js.map +1 -0
- package/dataproc/autoscalingPolicyIamMember.d.ts +208 -0
- package/dataproc/autoscalingPolicyIamMember.js +155 -0
- package/dataproc/autoscalingPolicyIamMember.js.map +1 -0
- package/dataproc/autoscalingPolicyIamPolicy.d.ts +198 -0
- package/dataproc/autoscalingPolicyIamPolicy.js +148 -0
- package/dataproc/autoscalingPolicyIamPolicy.js.map +1 -0
- package/dataproc/index.d.ts +6 -0
- package/dataproc/index.js +30 -0
- package/dataproc/index.js.map +1 -1
- package/dataproc/metastoreServiceIamBinding.d.ts +130 -0
- package/dataproc/metastoreServiceIamBinding.js +95 -0
- package/dataproc/metastoreServiceIamBinding.js.map +1 -0
- package/dataproc/metastoreServiceIamMember.d.ts +130 -0
- package/dataproc/metastoreServiceIamMember.js +95 -0
- package/dataproc/metastoreServiceIamMember.js.map +1 -0
- package/dataproc/metastoreServiceIamPolicy.d.ts +120 -0
- package/dataproc/metastoreServiceIamPolicy.js +88 -0
- package/dataproc/metastoreServiceIamPolicy.js.map +1 -0
- package/logging/projectSink.d.ts +80 -0
- package/logging/projectSink.js +80 -0
- package/logging/projectSink.js.map +1 -1
- package/monitoring/monitoredProject.d.ts +2 -6
- package/monitoring/monitoredProject.js +2 -6
- package/monitoring/monitoredProject.js.map +1 -1
- package/package.json +2 -2
- package/package.json.dev +2 -2
- package/projects/serviceIdentity.d.ts +4 -0
- package/projects/serviceIdentity.js +1 -1
- package/projects/serviceIdentity.js.map +1 -1
- package/redis/getInstance.d.ts +1 -0
- package/redis/getInstance.js.map +1 -1
- package/redis/instance.d.ts +42 -0
- package/redis/instance.js +29 -0
- package/redis/instance.js.map +1 -1
- package/spanner/database.d.ts +44 -12
- package/spanner/database.js +13 -0
- package/spanner/database.js.map +1 -1
- package/sql/getBackupRun.d.ts +11 -0
- package/sql/getBackupRun.js +1 -0
- package/sql/getBackupRun.js.map +1 -1
- package/types/input.d.ts +144 -7
- package/types/output.d.ts +162 -11
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
|
3
|
+
// *** Do not edit by hand unless you're certain you know what you are doing! ***
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.MetastoreServiceIamPolicy = void 0;
|
|
6
|
+
const pulumi = require("@pulumi/pulumi");
|
|
7
|
+
const utilities = require("../utilities");
|
|
8
|
+
/**
|
|
9
|
+
* ## Import
|
|
10
|
+
*
|
|
11
|
+
* For all import syntaxes, the "resource in question" can take any of the following forms* projects/{{project}}/locations/{{location}}/services/{{service_id}} * {{project}}/{{location}}/{{service_id}} * {{location}}/{{service_id}} * {{service_id}} Any variables not passed in the import command will be taken from the provider configuration. Dataproc metastore service IAM resources can be imported using the resource identifiers, role, and member. IAM member imports use space-delimited identifiersthe resource in question, the role, and the member identity, e.g.
|
|
12
|
+
*
|
|
13
|
+
* ```sh
|
|
14
|
+
* $ pulumi import gcp:dataproc/metastoreServiceIamPolicy:MetastoreServiceIamPolicy editor "projects/{{project}}/locations/{{location}}/services/{{service_id}} roles/viewer user:jane@example.com"
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* IAM binding imports use space-delimited identifiersthe resource in question and the role, e.g.
|
|
18
|
+
*
|
|
19
|
+
* ```sh
|
|
20
|
+
* $ pulumi import gcp:dataproc/metastoreServiceIamPolicy:MetastoreServiceIamPolicy editor "projects/{{project}}/locations/{{location}}/services/{{service_id}} roles/viewer"
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* IAM policy imports use the identifier of the resource in question, e.g.
|
|
24
|
+
*
|
|
25
|
+
* ```sh
|
|
26
|
+
* $ pulumi import gcp:dataproc/metastoreServiceIamPolicy:MetastoreServiceIamPolicy editor projects/{{project}}/locations/{{location}}/services/{{service_id}}
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* -> **Custom Roles**If you're importing a IAM resource with a custom role, make sure to use the
|
|
30
|
+
*
|
|
31
|
+
* full name of the custom role, e.g. `[projects/my-project|organizations/my-org]/roles/my-custom-role`.
|
|
32
|
+
*/
|
|
33
|
+
class MetastoreServiceIamPolicy extends pulumi.CustomResource {
|
|
34
|
+
constructor(name, argsOrState, opts) {
|
|
35
|
+
let resourceInputs = {};
|
|
36
|
+
opts = opts || {};
|
|
37
|
+
if (opts.id) {
|
|
38
|
+
const state = argsOrState;
|
|
39
|
+
resourceInputs["etag"] = state ? state.etag : undefined;
|
|
40
|
+
resourceInputs["location"] = state ? state.location : undefined;
|
|
41
|
+
resourceInputs["policyData"] = state ? state.policyData : undefined;
|
|
42
|
+
resourceInputs["project"] = state ? state.project : undefined;
|
|
43
|
+
resourceInputs["serviceId"] = state ? state.serviceId : undefined;
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
const args = argsOrState;
|
|
47
|
+
if ((!args || args.policyData === undefined) && !opts.urn) {
|
|
48
|
+
throw new Error("Missing required property 'policyData'");
|
|
49
|
+
}
|
|
50
|
+
if ((!args || args.serviceId === undefined) && !opts.urn) {
|
|
51
|
+
throw new Error("Missing required property 'serviceId'");
|
|
52
|
+
}
|
|
53
|
+
resourceInputs["location"] = args ? args.location : undefined;
|
|
54
|
+
resourceInputs["policyData"] = args ? args.policyData : undefined;
|
|
55
|
+
resourceInputs["project"] = args ? args.project : undefined;
|
|
56
|
+
resourceInputs["serviceId"] = args ? args.serviceId : undefined;
|
|
57
|
+
resourceInputs["etag"] = undefined /*out*/;
|
|
58
|
+
}
|
|
59
|
+
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
60
|
+
super(MetastoreServiceIamPolicy.__pulumiType, name, resourceInputs, opts);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Get an existing MetastoreServiceIamPolicy resource's state with the given name, ID, and optional extra
|
|
64
|
+
* properties used to qualify the lookup.
|
|
65
|
+
*
|
|
66
|
+
* @param name The _unique_ name of the resulting resource.
|
|
67
|
+
* @param id The _unique_ provider ID of the resource to lookup.
|
|
68
|
+
* @param state Any extra arguments used during the lookup.
|
|
69
|
+
* @param opts Optional settings to control the behavior of the CustomResource.
|
|
70
|
+
*/
|
|
71
|
+
static get(name, id, state, opts) {
|
|
72
|
+
return new MetastoreServiceIamPolicy(name, state, Object.assign(Object.assign({}, opts), { id: id }));
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Returns true if the given object is an instance of MetastoreServiceIamPolicy. This is designed to work even
|
|
76
|
+
* when multiple copies of the Pulumi SDK have been loaded into the same process.
|
|
77
|
+
*/
|
|
78
|
+
static isInstance(obj) {
|
|
79
|
+
if (obj === undefined || obj === null) {
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
return obj['__pulumiType'] === MetastoreServiceIamPolicy.__pulumiType;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports.MetastoreServiceIamPolicy = MetastoreServiceIamPolicy;
|
|
86
|
+
/** @internal */
|
|
87
|
+
MetastoreServiceIamPolicy.__pulumiType = 'gcp:dataproc/metastoreServiceIamPolicy:MetastoreServiceIamPolicy';
|
|
88
|
+
//# sourceMappingURL=metastoreServiceIamPolicy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metastoreServiceIamPolicy.js","sourceRoot":"","sources":["../../dataproc/metastoreServiceIamPolicy.ts"],"names":[],"mappings":"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"}
|
package/logging/projectSink.d.ts
CHANGED
|
@@ -1,6 +1,86 @@
|
|
|
1
1
|
import * as pulumi from "@pulumi/pulumi";
|
|
2
2
|
import { input as inputs, output as outputs } from "../types";
|
|
3
3
|
/**
|
|
4
|
+
* ## Example Usage
|
|
5
|
+
*
|
|
6
|
+
* ```typescript
|
|
7
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
8
|
+
* import * as gcp from "@pulumi/gcp";
|
|
9
|
+
*
|
|
10
|
+
* const my_sink = new gcp.logging.ProjectSink("my-sink", {
|
|
11
|
+
* // Can export to pubsub, cloud storage, or bigquery
|
|
12
|
+
* destination: "pubsub.googleapis.com/projects/my-project/topics/instance-activity",
|
|
13
|
+
* // Log all WARN or higher severity messages relating to instances
|
|
14
|
+
* filter: "resource.type = gce_instance AND severity >= WARNING",
|
|
15
|
+
* // Use a unique writer (creates a unique service account used for writing)
|
|
16
|
+
* uniqueWriterIdentity: true,
|
|
17
|
+
* });
|
|
18
|
+
* ```
|
|
19
|
+
*
|
|
20
|
+
* A more complete example follows: this creates a compute instance, as well as a log sink that logs all activity to a
|
|
21
|
+
* cloud storage bucket. Because we are using `uniqueWriterIdentity`, we must grant it access to the bucket. Note that
|
|
22
|
+
* this grant requires the "Project IAM Admin" IAM role (`roles/resourcemanager.projectIamAdmin`) granted to the credentials
|
|
23
|
+
* used with this provider.
|
|
24
|
+
*
|
|
25
|
+
* ```typescript
|
|
26
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
27
|
+
* import * as gcp from "@pulumi/gcp";
|
|
28
|
+
*
|
|
29
|
+
* // Our logged compute instance
|
|
30
|
+
* const my_logged_instance = new gcp.compute.Instance("my-logged-instance", {
|
|
31
|
+
* machineType: "e2-medium",
|
|
32
|
+
* zone: "us-central1-a",
|
|
33
|
+
* bootDisk: {
|
|
34
|
+
* initializeParams: {
|
|
35
|
+
* image: "debian-cloud/debian-9",
|
|
36
|
+
* },
|
|
37
|
+
* },
|
|
38
|
+
* networkInterfaces: [{
|
|
39
|
+
* network: "default",
|
|
40
|
+
* accessConfigs: [{}],
|
|
41
|
+
* }],
|
|
42
|
+
* });
|
|
43
|
+
* // A bucket to store logs in
|
|
44
|
+
* const log_bucket = new gcp.storage.Bucket("log-bucket", {location: "US"});
|
|
45
|
+
* // Our sink; this logs all activity related to our "my-logged-instance" instance
|
|
46
|
+
* const instance_sink = new gcp.logging.ProjectSink("instance-sink", {
|
|
47
|
+
* description: "some explanation on what this is",
|
|
48
|
+
* destination: pulumi.interpolate`storage.googleapis.com/${log_bucket.name}`,
|
|
49
|
+
* filter: pulumi.interpolate`resource.type = gce_instance AND resource.labels.instance_id = "${my_logged_instance.instanceId}"`,
|
|
50
|
+
* uniqueWriterIdentity: true,
|
|
51
|
+
* });
|
|
52
|
+
* // Because our sink uses a unique_writer, we must grant that writer access to the bucket.
|
|
53
|
+
* const log_writer = new gcp.projects.IAMBinding("log-writer", {
|
|
54
|
+
* project: "your-project-id",
|
|
55
|
+
* role: "roles/storage.objectCreator",
|
|
56
|
+
* members: [instance_sink.writerIdentity],
|
|
57
|
+
* });
|
|
58
|
+
* ```
|
|
59
|
+
*
|
|
60
|
+
* The following example uses `exclusions` to filter logs that will not be exported. In this example logs are exported to a [log bucket](https://cloud.google.com/logging/docs/buckets) and there are 2 exclusions configured
|
|
61
|
+
*
|
|
62
|
+
* ```typescript
|
|
63
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
64
|
+
* import * as gcp from "@pulumi/gcp";
|
|
65
|
+
*
|
|
66
|
+
* const log_bucket = new gcp.logging.ProjectSink("log-bucket", {
|
|
67
|
+
* destination: "logging.googleapis.com/projects/my-project/locations/global/buckets/_Default",
|
|
68
|
+
* exclusions: [
|
|
69
|
+
* {
|
|
70
|
+
* description: "Exclude logs from namespace-1 in k8s",
|
|
71
|
+
* filter: "resource.type = k8s_container resource.labels.namespace_name=\"namespace-1\" ",
|
|
72
|
+
* name: "nsexcllusion1",
|
|
73
|
+
* },
|
|
74
|
+
* {
|
|
75
|
+
* description: "Exclude logs from namespace-2 in k8s",
|
|
76
|
+
* filter: "resource.type = k8s_container resource.labels.namespace_name=\"namespace-2\" ",
|
|
77
|
+
* name: "nsexcllusion2",
|
|
78
|
+
* },
|
|
79
|
+
* ],
|
|
80
|
+
* uniqueWriterIdentity: true,
|
|
81
|
+
* });
|
|
82
|
+
* ```
|
|
83
|
+
*
|
|
4
84
|
* ## Import
|
|
5
85
|
*
|
|
6
86
|
* Project-level logging sinks can be imported using their URI, e.g.
|
package/logging/projectSink.js
CHANGED
|
@@ -6,6 +6,86 @@ exports.ProjectSink = void 0;
|
|
|
6
6
|
const pulumi = require("@pulumi/pulumi");
|
|
7
7
|
const utilities = require("../utilities");
|
|
8
8
|
/**
|
|
9
|
+
* ## Example Usage
|
|
10
|
+
*
|
|
11
|
+
* ```typescript
|
|
12
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
13
|
+
* import * as gcp from "@pulumi/gcp";
|
|
14
|
+
*
|
|
15
|
+
* const my_sink = new gcp.logging.ProjectSink("my-sink", {
|
|
16
|
+
* // Can export to pubsub, cloud storage, or bigquery
|
|
17
|
+
* destination: "pubsub.googleapis.com/projects/my-project/topics/instance-activity",
|
|
18
|
+
* // Log all WARN or higher severity messages relating to instances
|
|
19
|
+
* filter: "resource.type = gce_instance AND severity >= WARNING",
|
|
20
|
+
* // Use a unique writer (creates a unique service account used for writing)
|
|
21
|
+
* uniqueWriterIdentity: true,
|
|
22
|
+
* });
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* A more complete example follows: this creates a compute instance, as well as a log sink that logs all activity to a
|
|
26
|
+
* cloud storage bucket. Because we are using `uniqueWriterIdentity`, we must grant it access to the bucket. Note that
|
|
27
|
+
* this grant requires the "Project IAM Admin" IAM role (`roles/resourcemanager.projectIamAdmin`) granted to the credentials
|
|
28
|
+
* used with this provider.
|
|
29
|
+
*
|
|
30
|
+
* ```typescript
|
|
31
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
32
|
+
* import * as gcp from "@pulumi/gcp";
|
|
33
|
+
*
|
|
34
|
+
* // Our logged compute instance
|
|
35
|
+
* const my_logged_instance = new gcp.compute.Instance("my-logged-instance", {
|
|
36
|
+
* machineType: "e2-medium",
|
|
37
|
+
* zone: "us-central1-a",
|
|
38
|
+
* bootDisk: {
|
|
39
|
+
* initializeParams: {
|
|
40
|
+
* image: "debian-cloud/debian-9",
|
|
41
|
+
* },
|
|
42
|
+
* },
|
|
43
|
+
* networkInterfaces: [{
|
|
44
|
+
* network: "default",
|
|
45
|
+
* accessConfigs: [{}],
|
|
46
|
+
* }],
|
|
47
|
+
* });
|
|
48
|
+
* // A bucket to store logs in
|
|
49
|
+
* const log_bucket = new gcp.storage.Bucket("log-bucket", {location: "US"});
|
|
50
|
+
* // Our sink; this logs all activity related to our "my-logged-instance" instance
|
|
51
|
+
* const instance_sink = new gcp.logging.ProjectSink("instance-sink", {
|
|
52
|
+
* description: "some explanation on what this is",
|
|
53
|
+
* destination: pulumi.interpolate`storage.googleapis.com/${log_bucket.name}`,
|
|
54
|
+
* filter: pulumi.interpolate`resource.type = gce_instance AND resource.labels.instance_id = "${my_logged_instance.instanceId}"`,
|
|
55
|
+
* uniqueWriterIdentity: true,
|
|
56
|
+
* });
|
|
57
|
+
* // Because our sink uses a unique_writer, we must grant that writer access to the bucket.
|
|
58
|
+
* const log_writer = new gcp.projects.IAMBinding("log-writer", {
|
|
59
|
+
* project: "your-project-id",
|
|
60
|
+
* role: "roles/storage.objectCreator",
|
|
61
|
+
* members: [instance_sink.writerIdentity],
|
|
62
|
+
* });
|
|
63
|
+
* ```
|
|
64
|
+
*
|
|
65
|
+
* The following example uses `exclusions` to filter logs that will not be exported. In this example logs are exported to a [log bucket](https://cloud.google.com/logging/docs/buckets) and there are 2 exclusions configured
|
|
66
|
+
*
|
|
67
|
+
* ```typescript
|
|
68
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
69
|
+
* import * as gcp from "@pulumi/gcp";
|
|
70
|
+
*
|
|
71
|
+
* const log_bucket = new gcp.logging.ProjectSink("log-bucket", {
|
|
72
|
+
* destination: "logging.googleapis.com/projects/my-project/locations/global/buckets/_Default",
|
|
73
|
+
* exclusions: [
|
|
74
|
+
* {
|
|
75
|
+
* description: "Exclude logs from namespace-1 in k8s",
|
|
76
|
+
* filter: "resource.type = k8s_container resource.labels.namespace_name=\"namespace-1\" ",
|
|
77
|
+
* name: "nsexcllusion1",
|
|
78
|
+
* },
|
|
79
|
+
* {
|
|
80
|
+
* description: "Exclude logs from namespace-2 in k8s",
|
|
81
|
+
* filter: "resource.type = k8s_container resource.labels.namespace_name=\"namespace-2\" ",
|
|
82
|
+
* name: "nsexcllusion2",
|
|
83
|
+
* },
|
|
84
|
+
* ],
|
|
85
|
+
* uniqueWriterIdentity: true,
|
|
86
|
+
* });
|
|
87
|
+
* ```
|
|
88
|
+
*
|
|
9
89
|
* ## Import
|
|
10
90
|
*
|
|
11
91
|
* Project-level logging sinks can be imported using their URI, e.g.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectSink.js","sourceRoot":"","sources":["../../logging/projectSink.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAEzC,0CAA0C;AAE1C
|
|
1
|
+
{"version":3,"file":"projectSink.js","sourceRoot":"","sources":["../../logging/projectSink.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as pulumi from "@pulumi/pulumi";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Monitored Project allows you to set a project as monitored by a _metrics scope_, which is a term for a project used to group the metrics of multiple projects, potentially across multiple organizations. This enables you to view these groups in the Monitoring page of the cloud console.
|
|
4
4
|
*
|
|
5
5
|
* For more information, see:
|
|
6
6
|
* * [Understanding metrics scopes](https://cloud.google.com/monitoring/settings#concept-scope)
|
|
@@ -12,14 +12,10 @@ import * as pulumi from "@pulumi/pulumi";
|
|
|
12
12
|
* import * as pulumi from "@pulumi/pulumi";
|
|
13
13
|
* import * as gcp from "@pulumi/gcp";
|
|
14
14
|
*
|
|
15
|
-
* const primary = new gcp.monitoring.MonitoredProject("primary", {metricsScope: "existing-metrics-scope-project"}
|
|
16
|
-
* provider: google_beta,
|
|
17
|
-
* });
|
|
15
|
+
* const primary = new gcp.monitoring.MonitoredProject("primary", {metricsScope: "existing-metrics-scope-project"});
|
|
18
16
|
* const basic = new gcp.organizations.Project("basic", {
|
|
19
17
|
* projectId: "my-monitored-project",
|
|
20
18
|
* orgId: "123456789",
|
|
21
|
-
* }, {
|
|
22
|
-
* provider: google_beta,
|
|
23
19
|
* });
|
|
24
20
|
* ```
|
|
25
21
|
*
|
|
@@ -6,7 +6,7 @@ exports.MonitoredProject = void 0;
|
|
|
6
6
|
const pulumi = require("@pulumi/pulumi");
|
|
7
7
|
const utilities = require("../utilities");
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* Monitored Project allows you to set a project as monitored by a _metrics scope_, which is a term for a project used to group the metrics of multiple projects, potentially across multiple organizations. This enables you to view these groups in the Monitoring page of the cloud console.
|
|
10
10
|
*
|
|
11
11
|
* For more information, see:
|
|
12
12
|
* * [Understanding metrics scopes](https://cloud.google.com/monitoring/settings#concept-scope)
|
|
@@ -18,14 +18,10 @@ const utilities = require("../utilities");
|
|
|
18
18
|
* import * as pulumi from "@pulumi/pulumi";
|
|
19
19
|
* import * as gcp from "@pulumi/gcp";
|
|
20
20
|
*
|
|
21
|
-
* const primary = new gcp.monitoring.MonitoredProject("primary", {metricsScope: "existing-metrics-scope-project"}
|
|
22
|
-
* provider: google_beta,
|
|
23
|
-
* });
|
|
21
|
+
* const primary = new gcp.monitoring.MonitoredProject("primary", {metricsScope: "existing-metrics-scope-project"});
|
|
24
22
|
* const basic = new gcp.organizations.Project("basic", {
|
|
25
23
|
* projectId: "my-monitored-project",
|
|
26
24
|
* orgId: "123456789",
|
|
27
|
-
* }, {
|
|
28
|
-
* provider: google_beta,
|
|
29
25
|
* });
|
|
30
26
|
* ```
|
|
31
27
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"monitoredProject.js","sourceRoot":"","sources":["../../monitoring/monitoredProject.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAE1C
|
|
1
|
+
{"version":3,"file":"monitoredProject.js","sourceRoot":"","sources":["../../monitoring/monitoredProject.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAa,gBAAiB,SAAQ,MAAM,CAAC,cAAc;IAiDvD,YAAY,IAAY,EAAE,WAA0D,EAAE,IAAmC;QACrH,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAAgD,CAAC;YAC/D,cAAc,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;YACpE,cAAc,CAAC,cAAc,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;YACxE,cAAc,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;SAC3D;aAAM;YACH,MAAM,IAAI,GAAG,WAA+C,CAAC;YAC7D,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACzD,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC/D;YACD,cAAc,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;YACtE,cAAc,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;YACtD,cAAc,CAAC,YAAY,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC;SACpD;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACrE,CAAC;IAnED;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA6B,EAAE,IAAmC;QAC3H,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IACvE,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,gBAAgB,CAAC,YAAY,CAAC;IACjE,CAAC;;AA1BL,4CAqEC;AAvDG,gBAAgB;AACO,6BAAY,GAAG,kDAAkD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pulumi/gcp",
|
|
3
|
-
"version": "v6.
|
|
3
|
+
"version": "v6.31.0",
|
|
4
4
|
"description": "A Pulumi package for creating and managing Google Cloud Platform resources.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pulumi",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"license": "Apache-2.0",
|
|
12
12
|
"scripts": {
|
|
13
13
|
"build": "tsc",
|
|
14
|
-
"install": "node scripts/install-pulumi-plugin.js resource gcp v6.
|
|
14
|
+
"install": "node scripts/install-pulumi-plugin.js resource gcp v6.31.0"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"@pulumi/pulumi": "^3.0.0",
|
package/package.json.dev
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pulumi/gcp",
|
|
3
|
-
"version": "v6.
|
|
3
|
+
"version": "v6.31.0",
|
|
4
4
|
"description": "A Pulumi package for creating and managing Google Cloud Platform resources.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pulumi",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"license": "Apache-2.0",
|
|
12
12
|
"scripts": {
|
|
13
13
|
"build": "tsc",
|
|
14
|
-
"install": "node scripts/install-pulumi-plugin.js resource gcp v6.
|
|
14
|
+
"install": "node scripts/install-pulumi-plugin.js resource gcp v6.31.0"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"@pulumi/pulumi": "^3.0.0",
|
|
@@ -98,6 +98,10 @@ export interface ServiceIdentityState {
|
|
|
98
98
|
* The set of arguments for constructing a ServiceIdentity resource.
|
|
99
99
|
*/
|
|
100
100
|
export interface ServiceIdentityArgs {
|
|
101
|
+
/**
|
|
102
|
+
* The email address of the Google managed service account.
|
|
103
|
+
*/
|
|
104
|
+
email?: pulumi.Input<string>;
|
|
101
105
|
/**
|
|
102
106
|
* The ID of the project in which the resource belongs.
|
|
103
107
|
* If it is not provided, the provider project is used.
|
|
@@ -59,9 +59,9 @@ class ServiceIdentity extends pulumi.CustomResource {
|
|
|
59
59
|
if ((!args || args.service === undefined) && !opts.urn) {
|
|
60
60
|
throw new Error("Missing required property 'service'");
|
|
61
61
|
}
|
|
62
|
+
resourceInputs["email"] = args ? args.email : undefined;
|
|
62
63
|
resourceInputs["project"] = args ? args.project : undefined;
|
|
63
64
|
resourceInputs["service"] = args ? args.service : undefined;
|
|
64
|
-
resourceInputs["email"] = undefined /*out*/;
|
|
65
65
|
}
|
|
66
66
|
opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
|
|
67
67
|
super(ServiceIdentity.__pulumiType, name, resourceInputs, opts);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serviceIdentity.js","sourceRoot":"","sources":["../../projects/serviceIdentity.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAa,eAAgB,SAAQ,MAAM,CAAC,cAAc;IAkDtD,YAAY,IAAY,EAAE,WAAwD,EAAE,IAAmC;QACnH,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA+C,CAAC;YAC9D,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1D,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;SACjE;aAAM;YACH,MAAM,IAAI,GAAG,WAA8C,CAAC;YAC5D,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACpD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;aAC1D;YACD,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"serviceIdentity.js","sourceRoot":"","sources":["../../projects/serviceIdentity.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AACzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,MAAa,eAAgB,SAAQ,MAAM,CAAC,cAAc;IAkDtD,YAAY,IAAY,EAAE,WAAwD,EAAE,IAAmC;QACnH,IAAI,cAAc,GAAkB,EAAE,CAAC;QACvC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,EAAE,EAAE;YACT,MAAM,KAAK,GAAG,WAA+C,CAAC;YAC9D,cAAc,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1D,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC9D,cAAc,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;SACjE;aAAM;YACH,MAAM,IAAI,GAAG,WAA8C,CAAC;YAC5D,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE;gBACpD,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;aAC1D;YACD,cAAc,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;YACxD,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;YAC5D,cAAc,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;SAC/D;QACD,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;QACnE,KAAK,CAAC,eAAe,CAAC,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;IApED;;;;;;;;OAQG;IACI,MAAM,CAAC,GAAG,CAAC,IAAY,EAAE,EAA2B,EAAE,KAA4B,EAAE,IAAmC;QAC1H,OAAO,IAAI,eAAe,CAAC,IAAI,EAAO,KAAK,kCAAO,IAAI,KAAE,EAAE,EAAE,EAAE,IAAG,CAAC;IACtE,CAAC;IAKD;;;OAGG;IACI,MAAM,CAAC,UAAU,CAAC,GAAQ;QAC7B,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE;YACnC,OAAO,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,eAAe,CAAC,YAAY,CAAC;IAChE,CAAC;;AA1BL,0CAsEC;AAxDG,gBAAgB;AACO,4BAAY,GAAG,8CAA8C,CAAC"}
|
package/redis/getInstance.d.ts
CHANGED
package/redis/getInstance.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getInstance.js","sourceRoot":"","sources":["../../redis/getInstance.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAEzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,WAAW,CAAC,IAAqB,EAAE,IAA2B;IAC1E,IAAI,CAAC,IAAI,EAAE;QACP,IAAI,GAAG,EAAE,CAAA;KACZ;IAED,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;IACnE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,mCAAmC,EAAE;QAC9D,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,SAAS,EAAE,IAAI,CAAC,OAAO;QACvB,QAAQ,EAAE,IAAI,CAAC,MAAM;KACxB,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAXD,kCAWC;
|
|
1
|
+
{"version":3,"file":"getInstance.js","sourceRoot":"","sources":["../../redis/getInstance.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAEzC,0CAA0C;AAE1C;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,WAAW,CAAC,IAAqB,EAAE,IAA2B;IAC1E,IAAI,CAAC,IAAI,EAAE;QACP,IAAI,GAAG,EAAE,CAAA;KACZ;IAED,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,oBAAoB,EAAE,EAAE,IAAI,CAAC,CAAC;IACnE,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,mCAAmC,EAAE;QAC9D,MAAM,EAAE,IAAI,CAAC,IAAI;QACjB,SAAS,EAAE,IAAI,CAAC,OAAO;QACvB,QAAQ,EAAE,IAAI,CAAC,MAAM;KACxB,EAAE,IAAI,CAAC,CAAC;AACb,CAAC;AAXD,kCAWC;AAgED,SAAgB,iBAAiB,CAAC,IAA2B,EAAE,IAA2B;IACtF,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;AAC/D,CAAC;AAFD,8CAEC"}
|
package/redis/instance.d.ts
CHANGED
|
@@ -114,6 +114,33 @@ import { input as inputs, output as outputs } from "../types";
|
|
|
114
114
|
* },
|
|
115
115
|
* });
|
|
116
116
|
* ```
|
|
117
|
+
* ### Redis Instance Cmek
|
|
118
|
+
*
|
|
119
|
+
* ```typescript
|
|
120
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
121
|
+
* import * as gcp from "@pulumi/gcp";
|
|
122
|
+
*
|
|
123
|
+
* const redisKeyring = new gcp.kms.KeyRing("redisKeyring", {location: "us-central1"});
|
|
124
|
+
* const redisKey = new gcp.kms.CryptoKey("redisKey", {keyRing: redisKeyring.id});
|
|
125
|
+
* const redis-network = gcp.compute.getNetwork({
|
|
126
|
+
* name: "redis-test-network",
|
|
127
|
+
* });
|
|
128
|
+
* const cache = new gcp.redis.Instance("cache", {
|
|
129
|
+
* tier: "STANDARD_HA",
|
|
130
|
+
* memorySizeGb: 1,
|
|
131
|
+
* locationId: "us-central1-a",
|
|
132
|
+
* alternativeLocationId: "us-central1-f",
|
|
133
|
+
* authorizedNetwork: redis_network.then(redis_network => redis_network.id),
|
|
134
|
+
* redisVersion: "REDIS_6_X",
|
|
135
|
+
* displayName: "Terraform Test Instance",
|
|
136
|
+
* reservedIpRange: "192.168.0.0/29",
|
|
137
|
+
* labels: {
|
|
138
|
+
* my_key: "my_val",
|
|
139
|
+
* other_key: "other_val",
|
|
140
|
+
* },
|
|
141
|
+
* customerManagedKey: redisKey.id,
|
|
142
|
+
* });
|
|
143
|
+
* ```
|
|
117
144
|
*
|
|
118
145
|
* ## Import
|
|
119
146
|
*
|
|
@@ -193,6 +220,11 @@ export declare class Instance extends pulumi.CustomResource {
|
|
|
193
220
|
* [alternativeLocationId] and can change after a failover event.
|
|
194
221
|
*/
|
|
195
222
|
readonly currentLocationId: pulumi.Output<string>;
|
|
223
|
+
/**
|
|
224
|
+
* Optional. The KMS key reference that you want to use to encrypt the data at rest for this Redis
|
|
225
|
+
* instance. If this is provided, CMEK is enabled.
|
|
226
|
+
*/
|
|
227
|
+
readonly customerManagedKey: pulumi.Output<string | undefined>;
|
|
196
228
|
/**
|
|
197
229
|
* An arbitrary and optional user-provided name for the instance.
|
|
198
230
|
*/
|
|
@@ -387,6 +419,11 @@ export interface InstanceState {
|
|
|
387
419
|
* [alternativeLocationId] and can change after a failover event.
|
|
388
420
|
*/
|
|
389
421
|
currentLocationId?: pulumi.Input<string>;
|
|
422
|
+
/**
|
|
423
|
+
* Optional. The KMS key reference that you want to use to encrypt the data at rest for this Redis
|
|
424
|
+
* instance. If this is provided, CMEK is enabled.
|
|
425
|
+
*/
|
|
426
|
+
customerManagedKey?: pulumi.Input<string>;
|
|
390
427
|
/**
|
|
391
428
|
* An arbitrary and optional user-provided name for the instance.
|
|
392
429
|
*/
|
|
@@ -556,6 +593,11 @@ export interface InstanceArgs {
|
|
|
556
593
|
* Possible values are `DIRECT_PEERING` and `PRIVATE_SERVICE_ACCESS`.
|
|
557
594
|
*/
|
|
558
595
|
connectMode?: pulumi.Input<string>;
|
|
596
|
+
/**
|
|
597
|
+
* Optional. The KMS key reference that you want to use to encrypt the data at rest for this Redis
|
|
598
|
+
* instance. If this is provided, CMEK is enabled.
|
|
599
|
+
*/
|
|
600
|
+
customerManagedKey?: pulumi.Input<string>;
|
|
559
601
|
/**
|
|
560
602
|
* An arbitrary and optional user-provided name for the instance.
|
|
561
603
|
*/
|
package/redis/instance.js
CHANGED
|
@@ -119,6 +119,33 @@ const utilities = require("../utilities");
|
|
|
119
119
|
* },
|
|
120
120
|
* });
|
|
121
121
|
* ```
|
|
122
|
+
* ### Redis Instance Cmek
|
|
123
|
+
*
|
|
124
|
+
* ```typescript
|
|
125
|
+
* import * as pulumi from "@pulumi/pulumi";
|
|
126
|
+
* import * as gcp from "@pulumi/gcp";
|
|
127
|
+
*
|
|
128
|
+
* const redisKeyring = new gcp.kms.KeyRing("redisKeyring", {location: "us-central1"});
|
|
129
|
+
* const redisKey = new gcp.kms.CryptoKey("redisKey", {keyRing: redisKeyring.id});
|
|
130
|
+
* const redis-network = gcp.compute.getNetwork({
|
|
131
|
+
* name: "redis-test-network",
|
|
132
|
+
* });
|
|
133
|
+
* const cache = new gcp.redis.Instance("cache", {
|
|
134
|
+
* tier: "STANDARD_HA",
|
|
135
|
+
* memorySizeGb: 1,
|
|
136
|
+
* locationId: "us-central1-a",
|
|
137
|
+
* alternativeLocationId: "us-central1-f",
|
|
138
|
+
* authorizedNetwork: redis_network.then(redis_network => redis_network.id),
|
|
139
|
+
* redisVersion: "REDIS_6_X",
|
|
140
|
+
* displayName: "Terraform Test Instance",
|
|
141
|
+
* reservedIpRange: "192.168.0.0/29",
|
|
142
|
+
* labels: {
|
|
143
|
+
* my_key: "my_val",
|
|
144
|
+
* other_key: "other_val",
|
|
145
|
+
* },
|
|
146
|
+
* customerManagedKey: redisKey.id,
|
|
147
|
+
* });
|
|
148
|
+
* ```
|
|
122
149
|
*
|
|
123
150
|
* ## Import
|
|
124
151
|
*
|
|
@@ -153,6 +180,7 @@ class Instance extends pulumi.CustomResource {
|
|
|
153
180
|
resourceInputs["connectMode"] = state ? state.connectMode : undefined;
|
|
154
181
|
resourceInputs["createTime"] = state ? state.createTime : undefined;
|
|
155
182
|
resourceInputs["currentLocationId"] = state ? state.currentLocationId : undefined;
|
|
183
|
+
resourceInputs["customerManagedKey"] = state ? state.customerManagedKey : undefined;
|
|
156
184
|
resourceInputs["displayName"] = state ? state.displayName : undefined;
|
|
157
185
|
resourceInputs["host"] = state ? state.host : undefined;
|
|
158
186
|
resourceInputs["labels"] = state ? state.labels : undefined;
|
|
@@ -187,6 +215,7 @@ class Instance extends pulumi.CustomResource {
|
|
|
187
215
|
resourceInputs["authEnabled"] = args ? args.authEnabled : undefined;
|
|
188
216
|
resourceInputs["authorizedNetwork"] = args ? args.authorizedNetwork : undefined;
|
|
189
217
|
resourceInputs["connectMode"] = args ? args.connectMode : undefined;
|
|
218
|
+
resourceInputs["customerManagedKey"] = args ? args.customerManagedKey : undefined;
|
|
190
219
|
resourceInputs["displayName"] = args ? args.displayName : undefined;
|
|
191
220
|
resourceInputs["labels"] = args ? args.labels : undefined;
|
|
192
221
|
resourceInputs["locationId"] = args ? args.locationId : undefined;
|
package/redis/instance.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"instance.js","sourceRoot":"","sources":["../../redis/instance.ts"],"names":[],"mappings":";AAAA,wFAAwF;AACxF,iFAAiF;;;AAEjF,yCAAyC;AAEzC,0CAA0C;AAE1C
|
|
1
|
+
{"version":3,"file":"instance.js","sourceRoot":"","sources":["../../redis/instance.ts"],"names":[],"mappings":"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"}
|