diff --git a/CHANGELOG.md b/CHANGELOG.md
index b4e5284adf..fbbaf39eb1 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,7 +2,7 @@ CHANGELOG
=========
## HEAD (Unreleased)
-_(none)_
+* Upgrade to v3.32.0 of the Google Beta Terraform Provider
---
diff --git a/provider/cmd/pulumi-resource-gcp/schema.json b/provider/cmd/pulumi-resource-gcp/schema.json
index f069a68753..16214e480f 100644
--- a/provider/cmd/pulumi-resource-gcp/schema.json
+++ b/provider/cmd/pulumi-resource-gcp/schema.json
@@ -50,6 +50,9 @@
"binaryAuthorizationCustomEndpoint": {
"type": "string"
},
+ "cloudAssetCustomEndpoint": {
+ "type": "string"
+ },
"cloudBillingCustomEndpoint": {
"type": "string"
},
@@ -4686,6 +4689,108 @@
"evaluationMode"
]
},
+ "gcp:cloudasset/FolderFeedFeedOutputConfig:FolderFeedFeedOutputConfig": {
+ "properties": {
+ "pubsubDestination": {
+ "$ref": "#/types/gcp:cloudasset/FolderFeedFeedOutputConfigPubsubDestination:FolderFeedFeedOutputConfigPubsubDestination",
+ "description": "Destination on Cloud Pubsub. Structure is documented below.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "pubsubDestination"
+ ]
+ },
+ "gcp:cloudasset/FolderFeedFeedOutputConfigPubsubDestination:FolderFeedFeedOutputConfigPubsubDestination": {
+ "properties": {
+ "topic": {
+ "type": "string",
+ "description": "Destination on Cloud Pubsub topic.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "topic"
+ ]
+ },
+ "gcp:cloudasset/OrganizationFeedFeedOutputConfig:OrganizationFeedFeedOutputConfig": {
+ "properties": {
+ "pubsubDestination": {
+ "$ref": "#/types/gcp:cloudasset/OrganizationFeedFeedOutputConfigPubsubDestination:OrganizationFeedFeedOutputConfigPubsubDestination",
+ "description": "Destination on Cloud Pubsub. Structure is documented below.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "pubsubDestination"
+ ]
+ },
+ "gcp:cloudasset/OrganizationFeedFeedOutputConfigPubsubDestination:OrganizationFeedFeedOutputConfigPubsubDestination": {
+ "properties": {
+ "topic": {
+ "type": "string",
+ "description": "Destination on Cloud Pubsub topic.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "topic"
+ ]
+ },
+ "gcp:cloudasset/ProjectFeedFeedOutputConfig:ProjectFeedFeedOutputConfig": {
+ "properties": {
+ "pubsubDestination": {
+ "$ref": "#/types/gcp:cloudasset/ProjectFeedFeedOutputConfigPubsubDestination:ProjectFeedFeedOutputConfigPubsubDestination",
+ "description": "Destination on Cloud Pubsub. Structure is documented below.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "pubsubDestination"
+ ]
+ },
+ "gcp:cloudasset/ProjectFeedFeedOutputConfigPubsubDestination:ProjectFeedFeedOutputConfigPubsubDestination": {
+ "properties": {
+ "topic": {
+ "type": "string",
+ "description": "Destination on Cloud Pubsub topic.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "topic"
+ ]
+ },
"gcp:cloudbuild/TriggerBuild:TriggerBuild": {
"properties": {
"images": {
@@ -21531,6 +21636,23 @@
"state"
]
},
+ "gcp:container/ClusterDefaultSnatStatus:ClusterDefaultSnatStatus": {
+ "properties": {
+ "disabled": {
+ "type": "boolean",
+ "description": "The status of the Istio addon, which makes it easy to set up Istio for services in a\ncluster. It is disabled by default. Set `disabled = false` to enable.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "disabled"
+ ]
+ },
"gcp:container/ClusterIpAllocationPolicy:ClusterIpAllocationPolicy": {
"properties": {
"clusterIpv4CidrBlock": {
@@ -23822,6 +23944,27 @@
}
}
},
+ "gcp:container/getClusterDefaultSnatStatus:getClusterDefaultSnatStatus": {
+ "properties": {
+ "disabled": {
+ "type": "boolean",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "disabled"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
"gcp:container/getClusterIpAllocationPolicy:getClusterIpAllocationPolicy": {
"properties": {
"clusterIpv4CidrBlock": {
@@ -28881,6 +29024,17 @@
"mapCase": false
}
}
+ },
+ "nfsExportOptions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/gcp:filestore/InstanceFileSharesNfsExportOption:InstanceFileSharesNfsExportOption"
+ },
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
}
},
"type": "object",
@@ -28889,6 +29043,59 @@
"name"
]
},
+ "gcp:filestore/InstanceFileSharesNfsExportOption:InstanceFileSharesNfsExportOption": {
+ "properties": {
+ "accessMode": {
+ "type": "string",
+ "description": "Either READ_ONLY, for allowing only read requests on the exported directory,\nor READ_WRITE, for allowing both read and write requests. The default is READ_WRITE.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "anonGid": {
+ "type": "integer",
+ "description": "An integer representing the anonymous group id with a default value of 65534.\nAnon_gid may only be set with squashMode of ROOT_SQUASH. An error will be returned\nif this field is specified for other squashMode settings.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "anonUid": {
+ "type": "integer",
+ "description": "An integer representing the anonymous user id with a default value of 65534.\nAnon_uid may only be set with squashMode of ROOT_SQUASH. An error will be returned\nif this field is specified for other squashMode settings.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "ipRanges": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of either IPv4 addresses, or ranges in CIDR notation which may mount the file share.\nOverlapping IP ranges are not allowed, both within and across NfsExportOptions. An error will be returned.\nThe limit is 64 IP ranges/addresses for each FileShareConfig among all NfsExportOptions.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "squashMode": {
+ "type": "string",
+ "description": "Either NO_ROOT_SQUASH, for allowing root access on the exported directory, or ROOT_SQUASH,\nfor not allowing root access. The default is NO_ROOT_SQUASH.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object"
+ },
"gcp:filestore/InstanceNetwork:InstanceNetwork": {
"properties": {
"ipAddresses": {
@@ -32444,79 +32651,29 @@
},
"type": "object"
},
- "gcp:monitoring/NotificationChannelSensitiveLabels:NotificationChannelSensitiveLabels": {
+ "gcp:monitoring/MetricDescriptorLabel:MetricDescriptorLabel": {
"properties": {
- "authToken": {
+ "description": {
"type": "string",
- "description": "An authorization token for a notification channel. Channel types that support this field include: slack **Note**: This property is sensitive and will not be displayed in the plan.\n",
+ "description": "A human-readable description for the label.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "password": {
+ "key": {
"type": "string",
- "description": "An password for a notification channel. Channel types that support this field include: webhook_basicauth **Note**: This property is sensitive and will not be displayed in the plan.\n",
+ "description": "The key for this label. The key must not exceed 100 characters. The first character of the key must be an upper- or lower-case letter, the remaining characters must be letters, digits or underscores, and the key must match the regular expression [a-zA-Z][a-zA-Z0-9_]*\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "serviceKey": {
+ "valueType": {
"type": "string",
- "description": "An servicekey token for a notification channel. Channel types that support this field include: pagerduty **Note**: This property is sensitive and will not be displayed in the plan.\n",
- "language": {
- "python": {
- "mapCase": false
- }
- }
- }
- },
- "type": "object"
- },
- "gcp:monitoring/SloBasicSli:SloBasicSli": {
- "properties": {
- "latency": {
- "$ref": "#/types/gcp:monitoring/SloBasicSliLatency:SloBasicSliLatency",
- "description": "Parameters for a latency threshold SLI. Structure is documented below.\n",
- "language": {
- "python": {
- "mapCase": false
- }
- }
- },
- "locations": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "An optional set of locations to which this SLI is relevant.\nTelemetry from other locations will not be used to calculate\nperformance for this SLI. If omitted, this SLI applies to all\nlocations in which the Service has activity. For service types\nthat don't support breaking down by location, setting this\nfield will result in an error.\n",
- "language": {
- "python": {
- "mapCase": false
- }
- }
- },
- "methods": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "An optional set of RPCs to which this SLI is relevant.\nTelemetry from other methods will not be used to calculate\nperformance for this SLI. If omitted, this SLI applies to all\nthe Service's methods. For service types that don't support\nbreaking down by method, setting this field will result in an\nerror.\n",
- "language": {
- "python": {
- "mapCase": false
- }
- }
- },
- "versions": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "The set of API versions to which this SLI is relevant.\nTelemetry from other API versions will not be used to\ncalculate performance for this SLI. If omitted,\nthis SLI applies to all API versions. For service types\nthat don't support breaking down by version, setting this\nfield will result in an error.\n",
+ "description": "The type of data that can be assigned to the label.\n",
"language": {
"python": {
"mapCase": false
@@ -32526,90 +32683,23 @@
},
"type": "object",
"required": [
- "latency"
+ "key"
]
},
- "gcp:monitoring/SloBasicSliLatency:SloBasicSliLatency": {
+ "gcp:monitoring/MetricDescriptorMetadata:MetricDescriptorMetadata": {
"properties": {
- "threshold": {
+ "ingestDelay": {
"type": "string",
- "description": "A duration string, e.g. 10s.\nGood service is defined to be the count of requests made to\nthis service that return in no more than threshold.\n",
- "language": {
- "python": {
- "mapCase": false
- }
- }
- }
- },
- "type": "object",
- "required": [
- "threshold"
- ]
- },
- "gcp:monitoring/SloRequestBasedSli:SloRequestBasedSli": {
- "properties": {
- "distributionCut": {
- "$ref": "#/types/gcp:monitoring/SloRequestBasedSliDistributionCut:SloRequestBasedSliDistributionCut",
- "description": "Used when good_service is defined by a count of values aggregated in a\nDistribution that fall into a good range. The total_service is the\ntotal count of all values aggregated in the Distribution.\nDefines a distribution TimeSeries filter and thresholds used for\nmeasuring good service and total service. Structure is documented below.\n",
+ "description": "The delay of data points caused by ingestion. Data points older than this age are guaranteed to be ingested and available to be read, excluding data loss due to errors. In `[duration format](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf?\u0026_ga=2.264881487.1507873253.1593446723-935052455.1591817775#google.protobuf.Duration)`.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "goodTotalRatio": {
- "$ref": "#/types/gcp:monitoring/SloRequestBasedSliGoodTotalRatio:SloRequestBasedSliGoodTotalRatio",
- "description": "A means to compute a ratio of `good_service` to `total_service`.\nDefines computing this ratio with two TimeSeries [monitoring filters](https://cloud.google.com/monitoring/api/v3/filters)\nMust specify exactly two of good, bad, and total service filters.\nThe relationship good_service + bad_service = total_service\nwill be assumed. Structure is documented below.\n",
- "language": {
- "python": {
- "mapCase": false
- }
- }
- }
- },
- "type": "object"
- },
- "gcp:monitoring/SloRequestBasedSliDistributionCut:SloRequestBasedSliDistributionCut": {
- "properties": {
- "distributionFilter": {
+ "samplePeriod": {
"type": "string",
- "description": "A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\naggregating values to quantify the good service provided.\nMust have ValueType = DISTRIBUTION and\nMetricKind = DELTA or MetricKind = CUMULATIVE.\n",
- "language": {
- "python": {
- "mapCase": false
- }
- }
- },
- "range": {
- "$ref": "#/types/gcp:monitoring/SloRequestBasedSliDistributionCutRange:SloRequestBasedSliDistributionCutRange",
- "description": "Range of numerical values. The computed good_service\nwill be the count of values x in the Distribution such\nthat range.min \u003c= x \u003c range.max. inclusive of min and\nexclusive of max. Open ranges can be defined by setting\njust one of min or max. Summed value `X` should satisfy\n`range.min \u003c= X \u003c range.max` for a good window. Structure is documented below.\n",
- "language": {
- "python": {
- "mapCase": false
- }
- }
- }
- },
- "type": "object",
- "required": [
- "distributionFilter",
- "range"
- ]
- },
- "gcp:monitoring/SloRequestBasedSliDistributionCutRange:SloRequestBasedSliDistributionCutRange": {
- "properties": {
- "max": {
- "type": "integer",
- "description": "max value for the range (inclusive). If not given,\nwill be set to \"infinity\", defining an open range\n\"\u003e= range.min\"\n",
- "language": {
- "python": {
- "mapCase": false
- }
- }
- },
- "min": {
- "type": "integer",
- "description": "Min value for the range (inclusive). If not given,\nwill be set to \"-infinity\", defining an open range\n\"\u003c range.max\"\n",
+ "description": "The sampling period of metric data points. For metrics which are written periodically, consecutive data points are stored at this time interval, excluding data loss due to errors. Metrics with a higher granularity have a smaller sampling period. In `[duration format](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf?\u0026_ga=2.264881487.1507873253.1593446723-935052455.1591817775#google.protobuf.Duration)`.\n",
"language": {
"python": {
"mapCase": false
@@ -32619,111 +32709,29 @@
},
"type": "object"
},
- "gcp:monitoring/SloRequestBasedSliGoodTotalRatio:SloRequestBasedSliGoodTotalRatio": {
+ "gcp:monitoring/NotificationChannelSensitiveLabels:NotificationChannelSensitiveLabels": {
"properties": {
- "badServiceFilter": {
- "type": "string",
- "description": "A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\nquantifying bad service provided, either demanded service that\nwas not provided or demanded service that was of inadequate\nquality. Exactly two of\ngood, bad, or total service filter must be defined (where\ngood + bad = total is assumed)\nMust have ValueType = DOUBLE or ValueType = INT64 and\nmust have MetricKind = DELTA or MetricKind = CUMULATIVE.\n",
- "language": {
- "python": {
- "mapCase": false
- }
- }
- },
- "goodServiceFilter": {
+ "authToken": {
"type": "string",
- "description": "A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\nquantifying good service provided. Exactly two of\ngood, bad, or total service filter must be defined (where\ngood + bad = total is assumed)\nMust have ValueType = DOUBLE or ValueType = INT64 and\nmust have MetricKind = DELTA or MetricKind = CUMULATIVE.\n",
+ "description": "An authorization token for a notification channel. Channel types that support this field include: slack **Note**: This property is sensitive and will not be displayed in the plan.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "totalServiceFilter": {
- "type": "string",
- "description": "A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\nquantifying total demanded service. Exactly two of\ngood, bad, or total service filter must be defined (where\ngood + bad = total is assumed)\nMust have ValueType = DOUBLE or ValueType = INT64 and\nmust have MetricKind = DELTA or MetricKind = CUMULATIVE.\n",
- "language": {
- "python": {
- "mapCase": false
- }
- }
- }
- },
- "type": "object"
- },
- "gcp:monitoring/SloWindowsBasedSli:SloWindowsBasedSli": {
- "properties": {
- "goodBadMetricFilter": {
+ "password": {
"type": "string",
- "description": "A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\nwith ValueType = BOOL. The window is good if any true values\nappear in the window. One of `good_bad_metric_filter`,\n`good_total_ratio_threshold`, `metric_mean_in_range`,\n`metric_sum_in_range` must be set for `windows_based_sli`.\n",
- "language": {
- "python": {
- "mapCase": false
- }
- }
- },
- "goodTotalRatioThreshold": {
- "$ref": "#/types/gcp:monitoring/SloWindowsBasedSliGoodTotalRatioThreshold:SloWindowsBasedSliGoodTotalRatioThreshold",
- "description": "Criterion that describes a window as good if its performance is\nhigh enough. One of `good_bad_metric_filter`,\n`good_total_ratio_threshold`, `metric_mean_in_range`,\n`metric_sum_in_range` must be set for `windows_based_sli`. Structure is documented below.\n",
- "language": {
- "python": {
- "mapCase": false
- }
- }
- },
- "metricMeanInRange": {
- "$ref": "#/types/gcp:monitoring/SloWindowsBasedSliMetricMeanInRange:SloWindowsBasedSliMetricMeanInRange",
- "description": "Criterion that describes a window as good if the metric's value\nis in a good range, *averaged* across returned streams.\nOne of `good_bad_metric_filter`,\n`good_total_ratio_threshold`, `metric_mean_in_range`,\n`metric_sum_in_range` must be set for `windows_based_sli`.\nAverage value X of `time_series` should satisfy\n`range.min \u003c= X \u003c range.max` for a good window. Structure is documented below.\n",
- "language": {
- "python": {
- "mapCase": false
- }
- }
- },
- "metricSumInRange": {
- "$ref": "#/types/gcp:monitoring/SloWindowsBasedSliMetricSumInRange:SloWindowsBasedSliMetricSumInRange",
- "description": "Criterion that describes a window as good if the metric's value\nis in a good range, *summed* across returned streams.\nSummed value `X` of `time_series` should satisfy\n`range.min \u003c= X \u003c range.max` for a good window.\nOne of `good_bad_metric_filter`,\n`good_total_ratio_threshold`, `metric_mean_in_range`,\n`metric_sum_in_range` must be set for `windows_based_sli`. Structure is documented below.\n",
+ "description": "An password for a notification channel. Channel types that support this field include: webhook_basicauth **Note**: This property is sensitive and will not be displayed in the plan.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "windowPeriod": {
+ "serviceKey": {
"type": "string",
- "description": "Duration over which window quality is evaluated, given as a\nduration string \"{X}s\" representing X seconds. Must be an\ninteger fraction of a day and at least 60s.\n",
- "language": {
- "python": {
- "mapCase": false
- }
- }
- }
- },
- "type": "object"
- },
- "gcp:monitoring/SloWindowsBasedSliGoodTotalRatioThreshold:SloWindowsBasedSliGoodTotalRatioThreshold": {
- "properties": {
- "basicSliPerformance": {
- "$ref": "#/types/gcp:monitoring/SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance:SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance",
- "description": "Basic SLI to evaluate to judge window quality. Structure is documented below.\n",
- "language": {
- "python": {
- "mapCase": false
- }
- }
- },
- "performance": {
- "$ref": "#/types/gcp:monitoring/SloWindowsBasedSliGoodTotalRatioThresholdPerformance:SloWindowsBasedSliGoodTotalRatioThresholdPerformance",
- "description": "Request-based SLI to evaluate to judge window quality. Structure is documented below.\n",
- "language": {
- "python": {
- "mapCase": false
- }
- }
- },
- "threshold": {
- "type": "number",
- "description": "A duration string, e.g. 10s.\nGood service is defined to be the count of requests made to\nthis service that return in no more than threshold.\n",
+ "description": "An servicekey token for a notification channel. Channel types that support this field include: pagerduty **Note**: This property is sensitive and will not be displayed in the plan.\n",
"language": {
"python": {
"mapCase": false
@@ -32733,10 +32741,267 @@
},
"type": "object"
},
- "gcp:monitoring/SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance:SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance": {
+ "gcp:monitoring/SloBasicSli:SloBasicSli": {
"properties": {
"latency": {
- "$ref": "#/types/gcp:monitoring/SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency:SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency",
+ "$ref": "#/types/gcp:monitoring/SloBasicSliLatency:SloBasicSliLatency",
+ "description": "Parameters for a latency threshold SLI. Structure is documented below.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "locations": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "An optional set of locations to which this SLI is relevant.\nTelemetry from other locations will not be used to calculate\nperformance for this SLI. If omitted, this SLI applies to all\nlocations in which the Service has activity. For service types\nthat don't support breaking down by location, setting this\nfield will result in an error.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "methods": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "An optional set of RPCs to which this SLI is relevant.\nTelemetry from other methods will not be used to calculate\nperformance for this SLI. If omitted, this SLI applies to all\nthe Service's methods. For service types that don't support\nbreaking down by method, setting this field will result in an\nerror.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "versions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The set of API versions to which this SLI is relevant.\nTelemetry from other API versions will not be used to\ncalculate performance for this SLI. If omitted,\nthis SLI applies to all API versions. For service types\nthat don't support breaking down by version, setting this\nfield will result in an error.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "latency"
+ ]
+ },
+ "gcp:monitoring/SloBasicSliLatency:SloBasicSliLatency": {
+ "properties": {
+ "threshold": {
+ "type": "string",
+ "description": "A duration string, e.g. 10s.\nGood service is defined to be the count of requests made to\nthis service that return in no more than threshold.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "threshold"
+ ]
+ },
+ "gcp:monitoring/SloRequestBasedSli:SloRequestBasedSli": {
+ "properties": {
+ "distributionCut": {
+ "$ref": "#/types/gcp:monitoring/SloRequestBasedSliDistributionCut:SloRequestBasedSliDistributionCut",
+ "description": "Used when good_service is defined by a count of values aggregated in a\nDistribution that fall into a good range. The total_service is the\ntotal count of all values aggregated in the Distribution.\nDefines a distribution TimeSeries filter and thresholds used for\nmeasuring good service and total service. Structure is documented below.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "goodTotalRatio": {
+ "$ref": "#/types/gcp:monitoring/SloRequestBasedSliGoodTotalRatio:SloRequestBasedSliGoodTotalRatio",
+ "description": "A means to compute a ratio of `good_service` to `total_service`.\nDefines computing this ratio with two TimeSeries [monitoring filters](https://cloud.google.com/monitoring/api/v3/filters)\nMust specify exactly two of good, bad, and total service filters.\nThe relationship good_service + bad_service = total_service\nwill be assumed. Structure is documented below.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object"
+ },
+ "gcp:monitoring/SloRequestBasedSliDistributionCut:SloRequestBasedSliDistributionCut": {
+ "properties": {
+ "distributionFilter": {
+ "type": "string",
+ "description": "A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\naggregating values to quantify the good service provided.\nMust have ValueType = DISTRIBUTION and\nMetricKind = DELTA or MetricKind = CUMULATIVE.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "range": {
+ "$ref": "#/types/gcp:monitoring/SloRequestBasedSliDistributionCutRange:SloRequestBasedSliDistributionCutRange",
+ "description": "Range of numerical values. The computed good_service\nwill be the count of values x in the Distribution such\nthat range.min \u003c= x \u003c range.max. inclusive of min and\nexclusive of max. Open ranges can be defined by setting\njust one of min or max. Summed value `X` should satisfy\n`range.min \u003c= X \u003c range.max` for a good window. Structure is documented below.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "distributionFilter",
+ "range"
+ ]
+ },
+ "gcp:monitoring/SloRequestBasedSliDistributionCutRange:SloRequestBasedSliDistributionCutRange": {
+ "properties": {
+ "max": {
+ "type": "integer",
+ "description": "max value for the range (inclusive). If not given,\nwill be set to \"infinity\", defining an open range\n\"\u003e= range.min\"\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "min": {
+ "type": "integer",
+ "description": "Min value for the range (inclusive). If not given,\nwill be set to \"-infinity\", defining an open range\n\"\u003c range.max\"\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object"
+ },
+ "gcp:monitoring/SloRequestBasedSliGoodTotalRatio:SloRequestBasedSliGoodTotalRatio": {
+ "properties": {
+ "badServiceFilter": {
+ "type": "string",
+ "description": "A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\nquantifying bad service provided, either demanded service that\nwas not provided or demanded service that was of inadequate\nquality. Exactly two of\ngood, bad, or total service filter must be defined (where\ngood + bad = total is assumed)\nMust have ValueType = DOUBLE or ValueType = INT64 and\nmust have MetricKind = DELTA or MetricKind = CUMULATIVE.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "goodServiceFilter": {
+ "type": "string",
+ "description": "A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\nquantifying good service provided. Exactly two of\ngood, bad, or total service filter must be defined (where\ngood + bad = total is assumed)\nMust have ValueType = DOUBLE or ValueType = INT64 and\nmust have MetricKind = DELTA or MetricKind = CUMULATIVE.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "totalServiceFilter": {
+ "type": "string",
+ "description": "A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\nquantifying total demanded service. Exactly two of\ngood, bad, or total service filter must be defined (where\ngood + bad = total is assumed)\nMust have ValueType = DOUBLE or ValueType = INT64 and\nmust have MetricKind = DELTA or MetricKind = CUMULATIVE.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object"
+ },
+ "gcp:monitoring/SloWindowsBasedSli:SloWindowsBasedSli": {
+ "properties": {
+ "goodBadMetricFilter": {
+ "type": "string",
+ "description": "A TimeSeries [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\nwith ValueType = BOOL. The window is good if any true values\nappear in the window. One of `good_bad_metric_filter`,\n`good_total_ratio_threshold`, `metric_mean_in_range`,\n`metric_sum_in_range` must be set for `windows_based_sli`.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "goodTotalRatioThreshold": {
+ "$ref": "#/types/gcp:monitoring/SloWindowsBasedSliGoodTotalRatioThreshold:SloWindowsBasedSliGoodTotalRatioThreshold",
+ "description": "Criterion that describes a window as good if its performance is\nhigh enough. One of `good_bad_metric_filter`,\n`good_total_ratio_threshold`, `metric_mean_in_range`,\n`metric_sum_in_range` must be set for `windows_based_sli`. Structure is documented below.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "metricMeanInRange": {
+ "$ref": "#/types/gcp:monitoring/SloWindowsBasedSliMetricMeanInRange:SloWindowsBasedSliMetricMeanInRange",
+ "description": "Criterion that describes a window as good if the metric's value\nis in a good range, *averaged* across returned streams.\nOne of `good_bad_metric_filter`,\n`good_total_ratio_threshold`, `metric_mean_in_range`,\n`metric_sum_in_range` must be set for `windows_based_sli`.\nAverage value X of `time_series` should satisfy\n`range.min \u003c= X \u003c range.max` for a good window. Structure is documented below.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "metricSumInRange": {
+ "$ref": "#/types/gcp:monitoring/SloWindowsBasedSliMetricSumInRange:SloWindowsBasedSliMetricSumInRange",
+ "description": "Criterion that describes a window as good if the metric's value\nis in a good range, *summed* across returned streams.\nSummed value `X` of `time_series` should satisfy\n`range.min \u003c= X \u003c range.max` for a good window.\nOne of `good_bad_metric_filter`,\n`good_total_ratio_threshold`, `metric_mean_in_range`,\n`metric_sum_in_range` must be set for `windows_based_sli`. Structure is documented below.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "windowPeriod": {
+ "type": "string",
+ "description": "Duration over which window quality is evaluated, given as a\nduration string \"{X}s\" representing X seconds. Must be an\ninteger fraction of a day and at least 60s.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object"
+ },
+ "gcp:monitoring/SloWindowsBasedSliGoodTotalRatioThreshold:SloWindowsBasedSliGoodTotalRatioThreshold": {
+ "properties": {
+ "basicSliPerformance": {
+ "$ref": "#/types/gcp:monitoring/SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance:SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance",
+ "description": "Basic SLI to evaluate to judge window quality. Structure is documented below.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "performance": {
+ "$ref": "#/types/gcp:monitoring/SloWindowsBasedSliGoodTotalRatioThresholdPerformance:SloWindowsBasedSliGoodTotalRatioThresholdPerformance",
+ "description": "Request-based SLI to evaluate to judge window quality. Structure is documented below.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "threshold": {
+ "type": "number",
+ "description": "A duration string, e.g. 10s.\nGood service is defined to be the count of requests made to\nthis service that return in no more than threshold.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object"
+ },
+ "gcp:monitoring/SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance:SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformance": {
+ "properties": {
+ "latency": {
+ "$ref": "#/types/gcp:monitoring/SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency:SloWindowsBasedSliGoodTotalRatioThresholdBasicSliPerformanceLatency",
"description": "Parameters for a latency threshold SLI. Structure is documented below.\n",
"language": {
"python": {
@@ -33959,47 +34224,50 @@
"title"
]
},
- "gcp:osconfig/PatchDeploymentInstanceFilter:PatchDeploymentInstanceFilter": {
+ "gcp:osconfig/GuestPoliciesAssignment:GuestPoliciesAssignment": {
"properties": {
- "all": {
- "type": "boolean",
- "description": "Target all VM instances in the project. If true, no other criteria is permitted.\n",
+ "groupLabels": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesAssignmentGroupLabel:GuestPoliciesAssignmentGroupLabel"
+ },
+ "description": "Targets instances matching at least one of these label sets. This allows an assignment to target disparate groups,\nfor example \"env=prod or env=staging\". Structure is documented below.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "groupLabels": {
+ "instanceNamePrefixes": {
"type": "array",
"items": {
- "$ref": "#/types/gcp:osconfig/PatchDeploymentInstanceFilterGroupLabel:PatchDeploymentInstanceFilterGroupLabel"
+ "type": "string"
},
- "description": "Targets VM instances matching ANY of these GroupLabels. This allows targeting of disparate groups of VM instances. Structure is documented below.\n",
+ "description": "Targets VM instances whose name starts with one of these prefixes.\nLike labels, this is another way to group VM instances when targeting configs,\nfor example prefix=\"prod-\".\nOnly supported for project-level policies.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "instanceNamePrefixes": {
+ "instances": {
"type": "array",
"items": {
"type": "string"
},
- "description": "Targets VMs whose name starts with one of these prefixes. Similar to labels, this is another way to group\nVMs when targeting configs, for example prefix=\"prod-\".\n",
+ "description": "Targets any of the instances specified. Instances are specified by their URI in the form\nzones/[ZONE]/instances/[INSTANCE_NAME].\nInstance targeting is uncommon and is supported to facilitate the management of changes\nby the instance or to target specific VM instances for development and testing.\nOnly supported for project-level policies and must reference instances within this project.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "instances": {
+ "osTypes": {
"type": "array",
"items": {
- "type": "string"
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesAssignmentOsType:GuestPoliciesAssignmentOsType"
},
- "description": "Targets any of the VM instances specified. Instances are specified by their URI in the `form zones/{{zone}}/instances/{{instance_name}}`,\n`projects/{{project_id}}/zones/{{zone}}/instances/{{instance_name}}`, or\n`https://www.googleapis.com/compute/v1/projects/{{project_id}}/zones/{{zone}}/instances/{{instance_name}}`\n",
+ "description": "Targets VM instances matching at least one of the following OS types.\nVM instances must match all supplied criteria for a given OsType to be included. Structure is documented below.\n",
"language": {
"python": {
"mapCase": false
@@ -34011,7 +34279,7 @@
"items": {
"type": "string"
},
- "description": "Targets VM instances in ANY of these zones. Leave empty to target VM instances in any zone.\n",
+ "description": "Targets instances in any of these zones. Leave empty to target instances in any zone.\nZonal targeting is uncommon and is supported to facilitate the management of changes by zone.\n",
"language": {
"python": {
"mapCase": false
@@ -34021,14 +34289,14 @@
},
"type": "object"
},
- "gcp:osconfig/PatchDeploymentInstanceFilterGroupLabel:PatchDeploymentInstanceFilterGroupLabel": {
+ "gcp:osconfig/GuestPoliciesAssignmentGroupLabel:GuestPoliciesAssignmentGroupLabel": {
"properties": {
"labels": {
"type": "object",
"additionalProperties": {
"type": "string"
},
- "description": "Compute Engine instance labels that must be present for a VM instance to be targeted by this filter\n",
+ "description": "Google Compute Engine instance labels that must be present for an instance to be included in this assignment group.\n",
"language": {
"python": {
"mapCase": false
@@ -34041,73 +34309,87 @@
"labels"
]
},
- "gcp:osconfig/PatchDeploymentOneTimeSchedule:PatchDeploymentOneTimeSchedule": {
+ "gcp:osconfig/GuestPoliciesAssignmentOsType:GuestPoliciesAssignmentOsType": {
"properties": {
- "executeTime": {
+ "osArchitecture": {
"type": "string",
- "description": "The desired patch job execution time. A timestamp in RFC3339 UTC \"Zulu\" format,\naccurate to nanoseconds. Example: \"2014-10-02T15:01:23.045123456Z\".\n",
+ "description": "Targets VM instances with OS Inventory enabled and having the following OS architecture.\n",
"language": {
"python": {
"mapCase": false
}
}
- }
- },
- "type": "object",
- "required": [
- "executeTime"
- ]
- },
- "gcp:osconfig/PatchDeploymentPatchConfig:PatchDeploymentPatchConfig": {
- "properties": {
- "apt": {
- "$ref": "#/types/gcp:osconfig/PatchDeploymentPatchConfigApt:PatchDeploymentPatchConfigApt",
- "description": "Apt update settings. Use this setting to override the default apt patch rules. Structure is documented below.\n",
+ },
+ "osShortName": {
+ "type": "string",
+ "description": "Targets VM instances with OS Inventory enabled and having the following OS short name, for example \"debian\" or \"windows\".\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "goo": {
- "$ref": "#/types/gcp:osconfig/PatchDeploymentPatchConfigGoo:PatchDeploymentPatchConfigGoo",
- "description": "goo update settings. Use this setting to override the default goo patch rules. Structure is documented below.\n",
+ "osVersion": {
+ "type": "string",
+ "description": "Targets VM instances with OS Inventory enabled and having the following following OS version.\n",
"language": {
"python": {
"mapCase": false
}
}
- },
- "postStep": {
- "$ref": "#/types/gcp:osconfig/PatchDeploymentPatchConfigPostStep:PatchDeploymentPatchConfigPostStep",
- "description": "The ExecStep to run after the patch update. Structure is documented below.\n",
+ }
+ },
+ "type": "object"
+ },
+ "gcp:osconfig/GuestPoliciesPackage:GuestPoliciesPackage": {
+ "properties": {
+ "desiredState": {
+ "type": "string",
+ "description": "Default is INSTALLED. The desired state the agent should maintain for this recipe.\nINSTALLED: The software recipe is installed on the instance but won't be updated to new versions.\nINSTALLED_KEEP_UPDATED: The software recipe is installed on the instance. The recipe is updated to a higher version,\nif a higher version of the recipe is assigned to this instance.\nREMOVE: Remove is unsupported for software recipes and attempts to create or update a recipe to the REMOVE state is rejected.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "preStep": {
- "$ref": "#/types/gcp:osconfig/PatchDeploymentPatchConfigPreStep:PatchDeploymentPatchConfigPreStep",
- "description": "The ExecStep to run before the patch update. Structure is documented below.\n",
+ "manager": {
+ "type": "string",
+ "description": "Type of package manager that can be used to install this package. If a system does not have the package manager,\nthe package is not installed or removed no error message is returned. By default, or if you specify ANY,\nthe agent attempts to install and remove this package using the default package manager.\nThis is useful when creating a policy that applies to different types of systems.\nThe default behavior is ANY.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "rebootConfig": {
+ "name": {
"type": "string",
- "description": "Post-patch reboot settings.\n",
+ "description": "Unique identifier for the recipe. Only one recipe with a given name is installed on an instance.\nNames are also used to identify resources which helps to determine whether guest policies have conflicts.\nThis means that requests to create multiple recipes with the same name and version are rejected since they\ncould potentially have conflicting assignments.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "name"
+ ]
+ },
+ "gcp:osconfig/GuestPoliciesPackageRepository:GuestPoliciesPackageRepository": {
+ "properties": {
+ "apt": {
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesPackageRepositoryApt:GuestPoliciesPackageRepositoryApt",
+ "description": "An Apt Repository. Structure is documented below.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "windowsUpdate": {
- "$ref": "#/types/gcp:osconfig/PatchDeploymentPatchConfigWindowsUpdate:PatchDeploymentPatchConfigWindowsUpdate",
- "description": "Windows update settings. Use this setting to override the default Windows patch rules. Structure is documented below.\n",
+ "goo": {
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesPackageRepositoryGoo:GuestPoliciesPackageRepositoryGoo",
+ "description": "A Goo Repository. Structure is documented below.\n",
"language": {
"python": {
"mapCase": false
@@ -34115,8 +34397,8 @@
}
},
"yum": {
- "$ref": "#/types/gcp:osconfig/PatchDeploymentPatchConfigYum:PatchDeploymentPatchConfigYum",
- "description": "Yum update settings. Use this setting to override the default yum patch rules. Structure is documented below.\n",
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesPackageRepositoryYum:GuestPoliciesPackageRepositoryYum",
+ "description": "A Yum Repository. Structure is documented below.\n",
"language": {
"python": {
"mapCase": false
@@ -34124,8 +34406,8 @@
}
},
"zypper": {
- "$ref": "#/types/gcp:osconfig/PatchDeploymentPatchConfigZypper:PatchDeploymentPatchConfigZypper",
- "description": "zypper update settings. Use this setting to override the default zypper patch rules. Structure is documented below.\n",
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesPackageRepositoryZypper:GuestPoliciesPackageRepositoryZypper",
+ "description": "A Zypper Repository. Structure is documented below.\n",
"language": {
"python": {
"mapCase": false
@@ -34135,49 +34417,50 @@
},
"type": "object"
},
- "gcp:osconfig/PatchDeploymentPatchConfigApt:PatchDeploymentPatchConfigApt": {
+ "gcp:osconfig/GuestPoliciesPackageRepositoryApt:GuestPoliciesPackageRepositoryApt": {
"properties": {
- "excludes": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "List of KBs to exclude from update.\n",
+ "archiveType": {
+ "type": "string",
+ "description": "Type of archive files in this repository. The default behavior is DEB.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "exclusivePackages": {
+ "components": {
"type": "array",
"items": {
"type": "string"
},
- "description": "An exclusive list of packages to be updated. These are the only packages that will be updated.\nIf these packages are not installed, they will be ignored. This field cannot be specified with\nany other patch configuration fields.\n",
+ "description": "List of components for this repository. Must contain at least one item.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "type": {
+ "distribution": {
"type": "string",
- "description": "By changing the type to DIST, the patching is performed using apt-get dist-upgrade instead.\n",
+ "description": "Distribution of this repository.\n",
"language": {
"python": {
"mapCase": false
}
}
- }
- },
- "type": "object"
- },
- "gcp:osconfig/PatchDeploymentPatchConfigGoo:PatchDeploymentPatchConfigGoo": {
- "properties": {
- "enabled": {
- "type": "boolean",
- "description": "goo update settings. Use this setting to override the default goo patch rules.\n",
+ },
+ "gpgKey": {
+ "type": "string",
+ "description": "URI of the key file for this repository. The agent maintains a keyring at\n/etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg containing all the keys in any applied guest policy.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "uri": {
+ "type": "string",
+ "description": "URI from which to fetch the object. It should contain both the protocol and path following the format {protocol}://{location}.\n",
"language": {
"python": {
"mapCase": false
@@ -34187,23 +34470,25 @@
},
"type": "object",
"required": [
- "enabled"
+ "components",
+ "distribution",
+ "uri"
]
},
- "gcp:osconfig/PatchDeploymentPatchConfigPostStep:PatchDeploymentPatchConfigPostStep": {
+ "gcp:osconfig/GuestPoliciesPackageRepositoryGoo:GuestPoliciesPackageRepositoryGoo": {
"properties": {
- "linuxExecStepConfig": {
- "$ref": "#/types/gcp:osconfig/PatchDeploymentPatchConfigPostStepLinuxExecStepConfig:PatchDeploymentPatchConfigPostStepLinuxExecStepConfig",
- "description": "The ExecStepConfig for all Linux VMs targeted by the PatchJob. Structure is documented below.\n",
+ "name": {
+ "type": "string",
+ "description": "Unique identifier for the recipe. Only one recipe with a given name is installed on an instance.\nNames are also used to identify resources which helps to determine whether guest policies have conflicts.\nThis means that requests to create multiple recipes with the same name and version are rejected since they\ncould potentially have conflicting assignments.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "windowsExecStepConfig": {
- "$ref": "#/types/gcp:osconfig/PatchDeploymentPatchConfigPostStepWindowsExecStepConfig:PatchDeploymentPatchConfigPostStepWindowsExecStepConfig",
- "description": "The ExecStepConfig for all Windows VMs targeted by the PatchJob. Structure is documented below.\n",
+ "url": {
+ "type": "string",
+ "description": "The url of the repository.\n",
"language": {
"python": {
"mapCase": false
@@ -34211,43 +34496,47 @@
}
}
},
- "type": "object"
+ "type": "object",
+ "required": [
+ "name",
+ "url"
+ ]
},
- "gcp:osconfig/PatchDeploymentPatchConfigPostStepLinuxExecStepConfig:PatchDeploymentPatchConfigPostStepLinuxExecStepConfig": {
+ "gcp:osconfig/GuestPoliciesPackageRepositoryYum:GuestPoliciesPackageRepositoryYum": {
"properties": {
- "allowedSuccessCodes": {
- "type": "array",
- "items": {
- "type": "integer"
- },
- "description": "Defaults to [0]. A list of possible return values that the execution can return to indicate a success.\n",
+ "baseUrl": {
+ "type": "string",
+ "description": "The location of the repository directory.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "gcsObject": {
- "$ref": "#/types/gcp:osconfig/PatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObject:PatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObject",
- "description": "A Cloud Storage object containing the executable. Structure is documented below.\n",
+ "displayName": {
+ "type": "string",
+ "description": "The display name of the repository.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "interpreter": {
- "type": "string",
- "description": "The script interpreter to use to run the script. If no interpreter is specified the script will\nbe executed directly, which will likely only succeed for scripts with shebang lines.\n",
+ "gpgKeys": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "URIs of GPG keys.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "localPath": {
+ "id": {
"type": "string",
- "description": "An absolute path to the executable on the VM.\n",
+ "description": "Id of the artifact, which the installation and update steps of this recipe can reference.\nArtifacts in a recipe cannot have the same id.\n",
"language": {
"python": {
"mapCase": false
@@ -34255,31 +34544,47 @@
}
}
},
- "type": "object"
+ "type": "object",
+ "required": [
+ "baseUrl",
+ "id"
+ ]
},
- "gcp:osconfig/PatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObject:PatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObject": {
+ "gcp:osconfig/GuestPoliciesPackageRepositoryZypper:GuestPoliciesPackageRepositoryZypper": {
"properties": {
- "bucket": {
+ "baseUrl": {
"type": "string",
- "description": "Bucket of the Cloud Storage object.\n",
+ "description": "The location of the repository directory.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "generationNumber": {
+ "displayName": {
"type": "string",
- "description": "Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.\n",
+ "description": "The display name of the repository.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "object": {
+ "gpgKeys": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "URIs of GPG keys.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "id": {
"type": "string",
- "description": "Name of the Cloud Storage object.\n",
+ "description": "Id of the artifact, which the installation and update steps of this recipe can reference.\nArtifacts in a recipe cannot have the same id.\n",
"language": {
"python": {
"mapCase": false
@@ -34289,78 +34594,69 @@
},
"type": "object",
"required": [
- "bucket",
- "generationNumber",
- "object"
+ "baseUrl",
+ "id"
]
},
- "gcp:osconfig/PatchDeploymentPatchConfigPostStepWindowsExecStepConfig:PatchDeploymentPatchConfigPostStepWindowsExecStepConfig": {
+ "gcp:osconfig/GuestPoliciesRecipe:GuestPoliciesRecipe": {
"properties": {
- "allowedSuccessCodes": {
+ "artifacts": {
"type": "array",
"items": {
- "type": "integer"
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesRecipeArtifact:GuestPoliciesRecipeArtifact"
},
- "description": "Defaults to [0]. A list of possible return values that the execution can return to indicate a success.\n",
- "language": {
- "python": {
- "mapCase": false
- }
- }
- },
- "gcsObject": {
- "$ref": "#/types/gcp:osconfig/PatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObject:PatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObject",
- "description": "A Cloud Storage object containing the executable. Structure is documented below.\n",
+ "description": "Resources available to be used in the steps in the recipe. Structure is documented below.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "interpreter": {
+ "desiredState": {
"type": "string",
- "description": "The script interpreter to use to run the script. If no interpreter is specified the script will\nbe executed directly, which will likely only succeed for scripts with shebang lines.\n",
+ "description": "Default is INSTALLED. The desired state the agent should maintain for this recipe.\nINSTALLED: The software recipe is installed on the instance but won't be updated to new versions.\nINSTALLED_KEEP_UPDATED: The software recipe is installed on the instance. The recipe is updated to a higher version,\nif a higher version of the recipe is assigned to this instance.\nREMOVE: Remove is unsupported for software recipes and attempts to create or update a recipe to the REMOVE state is rejected.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "localPath": {
- "type": "string",
- "description": "An absolute path to the executable on the VM.\n",
+ "installSteps": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesRecipeInstallStep:GuestPoliciesRecipeInstallStep"
+ },
+ "description": "Actions to be taken for installing this recipe. On failure it stops executing steps and does not attempt another installation.\nAny steps taken (including partially completed steps) are not rolled back. Structure is documented below.\n",
"language": {
"python": {
"mapCase": false
}
}
- }
- },
- "type": "object"
- },
- "gcp:osconfig/PatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObject:PatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObject": {
- "properties": {
- "bucket": {
+ },
+ "name": {
"type": "string",
- "description": "Bucket of the Cloud Storage object.\n",
+ "description": "Unique identifier for the recipe. Only one recipe with a given name is installed on an instance.\nNames are also used to identify resources which helps to determine whether guest policies have conflicts.\nThis means that requests to create multiple recipes with the same name and version are rejected since they\ncould potentially have conflicting assignments.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "generationNumber": {
- "type": "string",
- "description": "Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.\n",
+ "updateSteps": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesRecipeUpdateStep:GuestPoliciesRecipeUpdateStep"
+ },
+ "description": "Actions to be taken for updating this recipe. On failure it stops executing steps and does not attempt another update for this recipe.\nAny steps taken (including partially completed steps) are not rolled back. Structure is documented below.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "object": {
+ "version": {
"type": "string",
- "description": "Name of the Cloud Storage object.\n",
+ "description": "The version of this software recipe. Version can be up to 4 period separated numbers (e.g. 12.34.56.78).\n",
"language": {
"python": {
"mapCase": false
@@ -34370,25 +34666,41 @@
},
"type": "object",
"required": [
- "bucket",
- "generationNumber",
- "object"
+ "name"
]
},
- "gcp:osconfig/PatchDeploymentPatchConfigPreStep:PatchDeploymentPatchConfigPreStep": {
+ "gcp:osconfig/GuestPoliciesRecipeArtifact:GuestPoliciesRecipeArtifact": {
"properties": {
- "linuxExecStepConfig": {
- "$ref": "#/types/gcp:osconfig/PatchDeploymentPatchConfigPreStepLinuxExecStepConfig:PatchDeploymentPatchConfigPreStepLinuxExecStepConfig",
- "description": "The ExecStepConfig for all Linux VMs targeted by the PatchJob. Structure is documented below.\n",
+ "allowInsecure": {
+ "type": "boolean",
+ "description": "Defaults to false. When false, recipes are subject to validations based on the artifact type:\nRemote: A checksum must be specified, and only protocols with transport-layer security are permitted.\nGCS: An object generation number must be specified.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "windowsExecStepConfig": {
- "$ref": "#/types/gcp:osconfig/PatchDeploymentPatchConfigPreStepWindowsExecStepConfig:PatchDeploymentPatchConfigPreStepWindowsExecStepConfig",
- "description": "The ExecStepConfig for all Windows VMs targeted by the PatchJob. Structure is documented below.\n",
+ "gcs": {
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesRecipeArtifactGcs:GuestPoliciesRecipeArtifactGcs",
+ "description": "A Google Cloud Storage artifact. Structure is documented below.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "id": {
+ "type": "string",
+ "description": "Id of the artifact, which the installation and update steps of this recipe can reference.\nArtifacts in a recipe cannot have the same id.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "remote": {
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesRecipeArtifactRemote:GuestPoliciesRecipeArtifactRemote",
+ "description": "A generic remote artifact. Structure is documented below.\n",
"language": {
"python": {
"mapCase": false
@@ -34396,43 +34708,57 @@
}
}
},
- "type": "object"
+ "type": "object",
+ "required": [
+ "id"
+ ]
},
- "gcp:osconfig/PatchDeploymentPatchConfigPreStepLinuxExecStepConfig:PatchDeploymentPatchConfigPreStepLinuxExecStepConfig": {
+ "gcp:osconfig/GuestPoliciesRecipeArtifactGcs:GuestPoliciesRecipeArtifactGcs": {
"properties": {
- "allowedSuccessCodes": {
- "type": "array",
- "items": {
- "type": "integer"
- },
- "description": "Defaults to [0]. A list of possible return values that the execution can return to indicate a success.\n",
+ "bucket": {
+ "type": "string",
+ "description": "Bucket of the Google Cloud Storage object. Given an example URL: https://storage.googleapis.com/my-bucket/foo/bar#1234567\nthis value would be my-bucket.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "gcsObject": {
- "$ref": "#/types/gcp:osconfig/PatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObject:PatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObject",
- "description": "A Cloud Storage object containing the executable. Structure is documented below.\n",
+ "generation": {
+ "type": "integer",
+ "description": "Must be provided if allowInsecure is false. Generation number of the Google Cloud Storage object.\nhttps://storage.googleapis.com/my-bucket/foo/bar#1234567 this value would be 1234567.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "interpreter": {
+ "object": {
"type": "string",
- "description": "The script interpreter to use to run the script. If no interpreter is specified the script will\nbe executed directly, which will likely only succeed for scripts with shebang lines.\n",
+ "description": "Name of the Google Cloud Storage object. Given an example URL: https://storage.googleapis.com/my-bucket/foo/bar#1234567\nthis value would be foo/bar.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object"
+ },
+ "gcp:osconfig/GuestPoliciesRecipeArtifactRemote:GuestPoliciesRecipeArtifactRemote": {
+ "properties": {
+ "checkSum": {
+ "type": "string",
+ "description": "Must be provided if allowInsecure is false. SHA256 checksum in hex format, to compare to the checksum of the artifact.\nIf the checksum is not empty and it doesn't match the artifact then the recipe installation fails before running any\nof the steps.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "localPath": {
+ "uri": {
"type": "string",
- "description": "An absolute path to the executable on the VM.\n",
+ "description": "URI from which to fetch the object. It should contain both the protocol and path following the format {protocol}://{location}.\n",
"language": {
"python": {
"mapCase": false
@@ -34442,78 +34768,65 @@
},
"type": "object"
},
- "gcp:osconfig/PatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObject:PatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObject": {
+ "gcp:osconfig/GuestPoliciesRecipeInstallStep:GuestPoliciesRecipeInstallStep": {
"properties": {
- "bucket": {
- "type": "string",
- "description": "Bucket of the Cloud Storage object.\n",
+ "archiveExtraction": {
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesRecipeInstallStepArchiveExtraction:GuestPoliciesRecipeInstallStepArchiveExtraction",
+ "description": "Extracts an archive into the specified directory. Structure is documented below.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "generationNumber": {
- "type": "string",
- "description": "Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.\n",
+ "dpkgInstallation": {
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesRecipeInstallStepDpkgInstallation:GuestPoliciesRecipeInstallStepDpkgInstallation",
+ "description": "Installs a deb file via dpkg. Structure is documented below.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "object": {
- "type": "string",
- "description": "Name of the Cloud Storage object.\n",
+ "fileCopy": {
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesRecipeInstallStepFileCopy:GuestPoliciesRecipeInstallStepFileCopy",
+ "description": "Copies a file onto the instance. Structure is documented below.\n",
"language": {
"python": {
"mapCase": false
}
}
- }
- },
- "type": "object",
- "required": [
- "bucket",
- "generationNumber",
- "object"
- ]
- },
- "gcp:osconfig/PatchDeploymentPatchConfigPreStepWindowsExecStepConfig:PatchDeploymentPatchConfigPreStepWindowsExecStepConfig": {
- "properties": {
- "allowedSuccessCodes": {
- "type": "array",
- "items": {
- "type": "integer"
- },
- "description": "Defaults to [0]. A list of possible return values that the execution can return to indicate a success.\n",
+ },
+ "fileExec": {
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesRecipeInstallStepFileExec:GuestPoliciesRecipeInstallStepFileExec",
+ "description": "Executes an artifact or local file. Structure is documented below.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "gcsObject": {
- "$ref": "#/types/gcp:osconfig/PatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObject:PatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObject",
- "description": "A Cloud Storage object containing the executable. Structure is documented below.\n",
+ "msiInstallation": {
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesRecipeInstallStepMsiInstallation:GuestPoliciesRecipeInstallStepMsiInstallation",
+ "description": "Installs an MSI file. Structure is documented below.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "interpreter": {
- "type": "string",
- "description": "The script interpreter to use to run the script. If no interpreter is specified the script will\nbe executed directly, which will likely only succeed for scripts with shebang lines.\n",
+ "rpmInstallation": {
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesRecipeInstallStepRpmInstallation:GuestPoliciesRecipeInstallStepRpmInstallation",
+ "description": "Installs an rpm file via the rpm utility. Structure is documented below.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "localPath": {
- "type": "string",
- "description": "An absolute path to the executable on the VM.\n",
+ "scriptRun": {
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesRecipeInstallStepScriptRun:GuestPoliciesRecipeInstallStepScriptRun",
+ "description": "Runs commands in a shell. Structure is documented below.\n",
"language": {
"python": {
"mapCase": false
@@ -34523,29 +34836,29 @@
},
"type": "object"
},
- "gcp:osconfig/PatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObject:PatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObject": {
+ "gcp:osconfig/GuestPoliciesRecipeInstallStepArchiveExtraction:GuestPoliciesRecipeInstallStepArchiveExtraction": {
"properties": {
- "bucket": {
+ "artifactId": {
"type": "string",
- "description": "Bucket of the Cloud Storage object.\n",
+ "description": "The id of the relevant artifact in the recipe.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "generationNumber": {
+ "destination": {
"type": "string",
- "description": "Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.\n",
+ "description": "Directory to extract archive to. Defaults to / on Linux or C:\\ on Windows.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "object": {
+ "type": {
"type": "string",
- "description": "Name of the Cloud Storage object.\n",
+ "description": "The type of the archive to extract.\n",
"language": {
"python": {
"mapCase": false
@@ -34555,40 +34868,68 @@
},
"type": "object",
"required": [
- "bucket",
- "generationNumber",
- "object"
+ "artifactId",
+ "type"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredOutputs": [
+ "artifactId",
+ "destination",
+ "type"
+ ]
+ }
+ }
+ },
+ "gcp:osconfig/GuestPoliciesRecipeInstallStepDpkgInstallation:GuestPoliciesRecipeInstallStepDpkgInstallation": {
+ "properties": {
+ "artifactId": {
+ "type": "string",
+ "description": "The id of the relevant artifact in the recipe.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "artifactId"
]
},
- "gcp:osconfig/PatchDeploymentPatchConfigWindowsUpdate:PatchDeploymentPatchConfigWindowsUpdate": {
+ "gcp:osconfig/GuestPoliciesRecipeInstallStepFileCopy:GuestPoliciesRecipeInstallStepFileCopy": {
"properties": {
- "classifications": {
+ "artifactId": {
"type": "string",
- "description": "Only apply updates of these windows update classifications. If empty, all updates are applied.\n",
+ "description": "The id of the relevant artifact in the recipe.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "excludes": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "List of KBs to exclude from update.\n",
+ "destination": {
+ "type": "string",
+ "description": "Directory to extract archive to. Defaults to / on Linux or C:\\ on Windows.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "exclusivePatches": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "An exclusive list of kbs to be updated. These are the only patches that will be updated.\nThis field must not be used with other patch configurations.\n",
+ "overwrite": {
+ "type": "boolean",
+ "description": "Whether to allow this step to overwrite existing files.If this is false and the file already exists the file\nis not overwritten and the step is considered a success. Defaults to false.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "permissions": {
+ "type": "string",
+ "description": "Consists of three octal digits which represent, in order, the permissions of the owner, group, and other users\nfor the file (similarly to the numeric mode used in the linux chmod utility). Each digit represents a three bit\nnumber with the 4 bit corresponding to the read permissions, the 2 bit corresponds to the write bit, and the one\nbit corresponds to the execute permission. Default behavior is 755.\nBelow are some examples of permissions and their associated values:\nread, write, and execute: 7 read and execute: 5 read and write: 6 read only: 4\n",
"language": {
"python": {
"mapCase": false
@@ -34596,46 +34937,47 @@
}
}
},
- "type": "object"
+ "type": "object",
+ "required": [
+ "artifactId",
+ "destination"
+ ]
},
- "gcp:osconfig/PatchDeploymentPatchConfigYum:PatchDeploymentPatchConfigYum": {
+ "gcp:osconfig/GuestPoliciesRecipeInstallStepFileExec:GuestPoliciesRecipeInstallStepFileExec": {
"properties": {
- "excludes": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "List of KBs to exclude from update.\n",
+ "allowedExitCodes": {
+ "type": "string",
+ "description": "Return codes that indicate that the software installed or updated successfully. Behaviour defaults to [0]\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "exclusivePackages": {
+ "args": {
"type": "array",
"items": {
"type": "string"
},
- "description": "An exclusive list of packages to be updated. These are the only packages that will be updated.\nIf these packages are not installed, they will be ignored. This field cannot be specified with\nany other patch configuration fields.\n",
+ "description": "Arguments to be passed to the provided executable.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "minimal": {
- "type": "boolean",
- "description": "Will cause patch to run yum update-minimal instead.\n",
+ "artifactId": {
+ "type": "string",
+ "description": "The id of the relevant artifact in the recipe.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "security": {
- "type": "boolean",
- "description": "Adds the --security flag to yum update. Not supported on all platforms.\n",
+ "localPath": {
+ "type": "string",
+ "description": "The absolute path of the file on the local filesystem.\n",
"language": {
"python": {
"mapCase": false
@@ -34643,70 +34985,108 @@
}
}
},
- "type": "object"
+ "type": "object",
+ "language": {
+ "nodejs": {
+ "requiredOutputs": [
+ "allowedExitCodes"
+ ]
+ }
+ }
},
- "gcp:osconfig/PatchDeploymentPatchConfigZypper:PatchDeploymentPatchConfigZypper": {
+ "gcp:osconfig/GuestPoliciesRecipeInstallStepMsiInstallation:GuestPoliciesRecipeInstallStepMsiInstallation": {
"properties": {
- "categories": {
+ "allowedExitCodes": {
"type": "array",
"items": {
- "type": "string"
+ "type": "integer"
},
- "description": "Install only patches with these categories. Common categories include security, recommended, and feature.\n",
+ "description": "Return codes that indicate that the software installed or updated successfully. Behaviour defaults to [0]\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "excludes": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "List of KBs to exclude from update.\n",
+ "artifactId": {
+ "type": "string",
+ "description": "The id of the relevant artifact in the recipe.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "exclusivePatches": {
+ "flags": {
"type": "array",
"items": {
"type": "string"
},
- "description": "An exclusive list of kbs to be updated. These are the only patches that will be updated.\nThis field must not be used with other patch configurations.\n",
+ "description": "The flags to use when installing the MSI. Defaults to the install flag.\n",
"language": {
"python": {
"mapCase": false
}
}
- },
- "severities": {
+ }
+ },
+ "type": "object",
+ "required": [
+ "artifactId"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredOutputs": [
+ "allowedExitCodes",
+ "artifactId",
+ "flags"
+ ]
+ }
+ }
+ },
+ "gcp:osconfig/GuestPoliciesRecipeInstallStepRpmInstallation:GuestPoliciesRecipeInstallStepRpmInstallation": {
+ "properties": {
+ "artifactId": {
+ "type": "string",
+ "description": "The id of the relevant artifact in the recipe.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "artifactId"
+ ]
+ },
+ "gcp:osconfig/GuestPoliciesRecipeInstallStepScriptRun:GuestPoliciesRecipeInstallStepScriptRun": {
+ "properties": {
+ "allowedExitCodes": {
"type": "array",
"items": {
- "type": "string"
+ "type": "integer"
},
- "description": "Install only patches with these severities. Common severities include critical, important, moderate, and low.\n",
+ "description": "Return codes that indicate that the software installed or updated successfully. Behaviour defaults to [0]\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "withOptional": {
- "type": "boolean",
- "description": "Adds the --with-optional flag to zypper patch.\n",
+ "interpreter": {
+ "type": "string",
+ "description": "The script interpreter to use to run the script. If no interpreter is specified the script is executed directly,\nwhich likely only succeed for scripts with shebang lines.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "withUpdate": {
- "type": "boolean",
- "description": "Adds the --with-update flag, to zypper patch.\n",
+ "script": {
+ "type": "string",
+ "description": "The shell script to be executed.\n",
"language": {
"python": {
"mapCase": false
@@ -34714,76 +35094,1186 @@
}
}
},
- "type": "object"
+ "type": "object",
+ "required": [
+ "script"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredOutputs": [
+ "allowedExitCodes",
+ "script"
+ ]
+ }
+ }
},
- "gcp:osconfig/PatchDeploymentRecurringSchedule:PatchDeploymentRecurringSchedule": {
+ "gcp:osconfig/GuestPoliciesRecipeUpdateStep:GuestPoliciesRecipeUpdateStep": {
"properties": {
- "endTime": {
- "type": "string",
- "description": "The end time at which a recurring patch deployment schedule is no longer active.\nA timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds. Example: \"2014-10-02T15:01:23.045123456Z\".\n",
+ "archiveExtraction": {
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesRecipeUpdateStepArchiveExtraction:GuestPoliciesRecipeUpdateStepArchiveExtraction",
+ "description": "Extracts an archive into the specified directory. Structure is documented below.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "lastExecuteTime": {
- "type": "string",
- "description": "-\nThe time the last patch job ran successfully.\nA timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds. Example: \"2014-10-02T15:01:23.045123456Z\".\n",
+ "dpkgInstallation": {
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesRecipeUpdateStepDpkgInstallation:GuestPoliciesRecipeUpdateStepDpkgInstallation",
+ "description": "Installs a deb file via dpkg. Structure is documented below.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "monthly": {
- "$ref": "#/types/gcp:osconfig/PatchDeploymentRecurringScheduleMonthly:PatchDeploymentRecurringScheduleMonthly",
- "description": "Schedule with monthly executions. Structure is documented below.\n",
+ "fileCopy": {
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesRecipeUpdateStepFileCopy:GuestPoliciesRecipeUpdateStepFileCopy",
+ "description": "Copies a file onto the instance. Structure is documented below.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "nextExecuteTime": {
- "type": "string",
- "description": "-\nThe time the next patch job is scheduled to run.\nA timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds. Example: \"2014-10-02T15:01:23.045123456Z\".\n",
+ "fileExec": {
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesRecipeUpdateStepFileExec:GuestPoliciesRecipeUpdateStepFileExec",
+ "description": "Executes an artifact or local file. Structure is documented below.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "startTime": {
- "type": "string",
- "description": "The time that the recurring schedule becomes effective. Defaults to createTime of the patch deployment.\nA timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds. Example: \"2014-10-02T15:01:23.045123456Z\".\n",
+ "msiInstallation": {
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesRecipeUpdateStepMsiInstallation:GuestPoliciesRecipeUpdateStepMsiInstallation",
+ "description": "Installs an MSI file. Structure is documented below.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "timeOfDay": {
- "$ref": "#/types/gcp:osconfig/PatchDeploymentRecurringScheduleTimeOfDay:PatchDeploymentRecurringScheduleTimeOfDay",
- "description": "Time of the day to run a recurring deployment. Structure is documented below.\n",
+ "rpmInstallation": {
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesRecipeUpdateStepRpmInstallation:GuestPoliciesRecipeUpdateStepRpmInstallation",
+ "description": "Installs an rpm file via the rpm utility. Structure is documented below.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "timeZone": {
- "$ref": "#/types/gcp:osconfig/PatchDeploymentRecurringScheduleTimeZone:PatchDeploymentRecurringScheduleTimeZone",
- "description": "Defines the time zone that timeOfDay is relative to. The rules for daylight saving time are\ndetermined by the chosen time zone. Structure is documented below.\n",
+ "scriptRun": {
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesRecipeUpdateStepScriptRun:GuestPoliciesRecipeUpdateStepScriptRun",
+ "description": "Runs commands in a shell. Structure is documented below.\n",
"language": {
"python": {
"mapCase": false
}
}
- },
- "weekly": {
- "$ref": "#/types/gcp:osconfig/PatchDeploymentRecurringScheduleWeekly:PatchDeploymentRecurringScheduleWeekly",
- "description": "Schedule with weekly executions. Structure is documented below.\n",
+ }
+ },
+ "type": "object"
+ },
+ "gcp:osconfig/GuestPoliciesRecipeUpdateStepArchiveExtraction:GuestPoliciesRecipeUpdateStepArchiveExtraction": {
+ "properties": {
+ "artifactId": {
+ "type": "string",
+ "description": "The id of the relevant artifact in the recipe.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "destination": {
+ "type": "string",
+ "description": "Directory to extract archive to. Defaults to / on Linux or C:\\ on Windows.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of the archive to extract.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "artifactId",
+ "type"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredOutputs": [
+ "artifactId",
+ "destination",
+ "type"
+ ]
+ }
+ }
+ },
+ "gcp:osconfig/GuestPoliciesRecipeUpdateStepDpkgInstallation:GuestPoliciesRecipeUpdateStepDpkgInstallation": {
+ "properties": {
+ "artifactId": {
+ "type": "string",
+ "description": "The id of the relevant artifact in the recipe.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "artifactId"
+ ]
+ },
+ "gcp:osconfig/GuestPoliciesRecipeUpdateStepFileCopy:GuestPoliciesRecipeUpdateStepFileCopy": {
+ "properties": {
+ "artifactId": {
+ "type": "string",
+ "description": "The id of the relevant artifact in the recipe.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "destination": {
+ "type": "string",
+ "description": "Directory to extract archive to. Defaults to / on Linux or C:\\ on Windows.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "overwrite": {
+ "type": "boolean",
+ "description": "Whether to allow this step to overwrite existing files.If this is false and the file already exists the file\nis not overwritten and the step is considered a success. Defaults to false.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "permissions": {
+ "type": "string",
+ "description": "Consists of three octal digits which represent, in order, the permissions of the owner, group, and other users\nfor the file (similarly to the numeric mode used in the linux chmod utility). Each digit represents a three bit\nnumber with the 4 bit corresponding to the read permissions, the 2 bit corresponds to the write bit, and the one\nbit corresponds to the execute permission. Default behavior is 755.\nBelow are some examples of permissions and their associated values:\nread, write, and execute: 7 read and execute: 5 read and write: 6 read only: 4\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "artifactId",
+ "destination"
+ ]
+ },
+ "gcp:osconfig/GuestPoliciesRecipeUpdateStepFileExec:GuestPoliciesRecipeUpdateStepFileExec": {
+ "properties": {
+ "allowedExitCodes": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ },
+ "description": "Return codes that indicate that the software installed or updated successfully. Behaviour defaults to [0]\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "args": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Arguments to be passed to the provided executable.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "artifactId": {
+ "type": "string",
+ "description": "The id of the relevant artifact in the recipe.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "localPath": {
+ "type": "string",
+ "description": "The absolute path of the file on the local filesystem.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "language": {
+ "nodejs": {
+ "requiredOutputs": [
+ "allowedExitCodes"
+ ]
+ }
+ }
+ },
+ "gcp:osconfig/GuestPoliciesRecipeUpdateStepMsiInstallation:GuestPoliciesRecipeUpdateStepMsiInstallation": {
+ "properties": {
+ "allowedExitCodes": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ },
+ "description": "Return codes that indicate that the software installed or updated successfully. Behaviour defaults to [0]\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "artifactId": {
+ "type": "string",
+ "description": "The id of the relevant artifact in the recipe.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "flags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The flags to use when installing the MSI. Defaults to the install flag.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "artifactId"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredOutputs": [
+ "allowedExitCodes",
+ "artifactId",
+ "flags"
+ ]
+ }
+ }
+ },
+ "gcp:osconfig/GuestPoliciesRecipeUpdateStepRpmInstallation:GuestPoliciesRecipeUpdateStepRpmInstallation": {
+ "properties": {
+ "artifactId": {
+ "type": "string",
+ "description": "The id of the relevant artifact in the recipe.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "artifactId"
+ ]
+ },
+ "gcp:osconfig/GuestPoliciesRecipeUpdateStepScriptRun:GuestPoliciesRecipeUpdateStepScriptRun": {
+ "properties": {
+ "allowedExitCodes": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ },
+ "description": "Return codes that indicate that the software installed or updated successfully. Behaviour defaults to [0]\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "interpreter": {
+ "type": "string",
+ "description": "The script interpreter to use to run the script. If no interpreter is specified the script is executed directly,\nwhich likely only succeed for scripts with shebang lines.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "script": {
+ "type": "string",
+ "description": "The shell script to be executed.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "script"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredOutputs": [
+ "allowedExitCodes",
+ "script"
+ ]
+ }
+ }
+ },
+ "gcp:osconfig/PatchDeploymentInstanceFilter:PatchDeploymentInstanceFilter": {
+ "properties": {
+ "all": {
+ "type": "boolean",
+ "description": "Target all VM instances in the project. If true, no other criteria is permitted.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "groupLabels": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/gcp:osconfig/PatchDeploymentInstanceFilterGroupLabel:PatchDeploymentInstanceFilterGroupLabel"
+ },
+ "description": "Targets VM instances matching ANY of these GroupLabels. This allows targeting of disparate groups of VM instances. Structure is documented below.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "instanceNamePrefixes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Targets VMs whose name starts with one of these prefixes. Similar to labels, this is another way to group\nVMs when targeting configs, for example prefix=\"prod-\".\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "instances": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Targets any of the VM instances specified. Instances are specified by their URI in the `form zones/{{zone}}/instances/{{instance_name}}`,\n`projects/{{project_id}}/zones/{{zone}}/instances/{{instance_name}}`, or\n`https://www.googleapis.com/compute/v1/projects/{{project_id}}/zones/{{zone}}/instances/{{instance_name}}`\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Targets VM instances in ANY of these zones. Leave empty to target VM instances in any zone.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object"
+ },
+ "gcp:osconfig/PatchDeploymentInstanceFilterGroupLabel:PatchDeploymentInstanceFilterGroupLabel": {
+ "properties": {
+ "labels": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Compute Engine instance labels that must be present for a VM instance to be targeted by this filter\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "labels"
+ ]
+ },
+ "gcp:osconfig/PatchDeploymentOneTimeSchedule:PatchDeploymentOneTimeSchedule": {
+ "properties": {
+ "executeTime": {
+ "type": "string",
+ "description": "The desired patch job execution time. A timestamp in RFC3339 UTC \"Zulu\" format,\naccurate to nanoseconds. Example: \"2014-10-02T15:01:23.045123456Z\".\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "executeTime"
+ ]
+ },
+ "gcp:osconfig/PatchDeploymentPatchConfig:PatchDeploymentPatchConfig": {
+ "properties": {
+ "apt": {
+ "$ref": "#/types/gcp:osconfig/PatchDeploymentPatchConfigApt:PatchDeploymentPatchConfigApt",
+ "description": "Apt update settings. Use this setting to override the default apt patch rules. Structure is documented below.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "goo": {
+ "$ref": "#/types/gcp:osconfig/PatchDeploymentPatchConfigGoo:PatchDeploymentPatchConfigGoo",
+ "description": "goo update settings. Use this setting to override the default goo patch rules. Structure is documented below.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "postStep": {
+ "$ref": "#/types/gcp:osconfig/PatchDeploymentPatchConfigPostStep:PatchDeploymentPatchConfigPostStep",
+ "description": "The ExecStep to run after the patch update. Structure is documented below.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "preStep": {
+ "$ref": "#/types/gcp:osconfig/PatchDeploymentPatchConfigPreStep:PatchDeploymentPatchConfigPreStep",
+ "description": "The ExecStep to run before the patch update. Structure is documented below.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "rebootConfig": {
+ "type": "string",
+ "description": "Post-patch reboot settings.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "windowsUpdate": {
+ "$ref": "#/types/gcp:osconfig/PatchDeploymentPatchConfigWindowsUpdate:PatchDeploymentPatchConfigWindowsUpdate",
+ "description": "Windows update settings. Use this setting to override the default Windows patch rules. Structure is documented below.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "yum": {
+ "$ref": "#/types/gcp:osconfig/PatchDeploymentPatchConfigYum:PatchDeploymentPatchConfigYum",
+ "description": "Yum update settings. Use this setting to override the default yum patch rules. Structure is documented below.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "zypper": {
+ "$ref": "#/types/gcp:osconfig/PatchDeploymentPatchConfigZypper:PatchDeploymentPatchConfigZypper",
+ "description": "zypper update settings. Use this setting to override the default zypper patch rules. Structure is documented below.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object"
+ },
+ "gcp:osconfig/PatchDeploymentPatchConfigApt:PatchDeploymentPatchConfigApt": {
+ "properties": {
+ "excludes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of KBs to exclude from update.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "exclusivePackages": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "An exclusive list of packages to be updated. These are the only packages that will be updated.\nIf these packages are not installed, they will be ignored. This field cannot be specified with\nany other patch configuration fields.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "type": {
+ "type": "string",
+ "description": "By changing the type to DIST, the patching is performed using apt-get dist-upgrade instead.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object"
+ },
+ "gcp:osconfig/PatchDeploymentPatchConfigGoo:PatchDeploymentPatchConfigGoo": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "goo update settings. Use this setting to override the default goo patch rules.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "enabled"
+ ]
+ },
+ "gcp:osconfig/PatchDeploymentPatchConfigPostStep:PatchDeploymentPatchConfigPostStep": {
+ "properties": {
+ "linuxExecStepConfig": {
+ "$ref": "#/types/gcp:osconfig/PatchDeploymentPatchConfigPostStepLinuxExecStepConfig:PatchDeploymentPatchConfigPostStepLinuxExecStepConfig",
+ "description": "The ExecStepConfig for all Linux VMs targeted by the PatchJob. Structure is documented below.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "windowsExecStepConfig": {
+ "$ref": "#/types/gcp:osconfig/PatchDeploymentPatchConfigPostStepWindowsExecStepConfig:PatchDeploymentPatchConfigPostStepWindowsExecStepConfig",
+ "description": "The ExecStepConfig for all Windows VMs targeted by the PatchJob. Structure is documented below.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object"
+ },
+ "gcp:osconfig/PatchDeploymentPatchConfigPostStepLinuxExecStepConfig:PatchDeploymentPatchConfigPostStepLinuxExecStepConfig": {
+ "properties": {
+ "allowedSuccessCodes": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ },
+ "description": "Defaults to [0]. A list of possible return values that the execution can return to indicate a success.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "gcsObject": {
+ "$ref": "#/types/gcp:osconfig/PatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObject:PatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObject",
+ "description": "A Cloud Storage object containing the executable. Structure is documented below.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "interpreter": {
+ "type": "string",
+ "description": "The script interpreter to use to run the script. If no interpreter is specified the script will\nbe executed directly, which will likely only succeed for scripts with shebang lines.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "localPath": {
+ "type": "string",
+ "description": "An absolute path to the executable on the VM.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object"
+ },
+ "gcp:osconfig/PatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObject:PatchDeploymentPatchConfigPostStepLinuxExecStepConfigGcsObject": {
+ "properties": {
+ "bucket": {
+ "type": "string",
+ "description": "Bucket of the Cloud Storage object.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "generationNumber": {
+ "type": "string",
+ "description": "Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "object": {
+ "type": "string",
+ "description": "Name of the Cloud Storage object.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "bucket",
+ "generationNumber",
+ "object"
+ ]
+ },
+ "gcp:osconfig/PatchDeploymentPatchConfigPostStepWindowsExecStepConfig:PatchDeploymentPatchConfigPostStepWindowsExecStepConfig": {
+ "properties": {
+ "allowedSuccessCodes": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ },
+ "description": "Defaults to [0]. A list of possible return values that the execution can return to indicate a success.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "gcsObject": {
+ "$ref": "#/types/gcp:osconfig/PatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObject:PatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObject",
+ "description": "A Cloud Storage object containing the executable. Structure is documented below.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "interpreter": {
+ "type": "string",
+ "description": "The script interpreter to use to run the script. If no interpreter is specified the script will\nbe executed directly, which will likely only succeed for scripts with shebang lines.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "localPath": {
+ "type": "string",
+ "description": "An absolute path to the executable on the VM.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object"
+ },
+ "gcp:osconfig/PatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObject:PatchDeploymentPatchConfigPostStepWindowsExecStepConfigGcsObject": {
+ "properties": {
+ "bucket": {
+ "type": "string",
+ "description": "Bucket of the Cloud Storage object.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "generationNumber": {
+ "type": "string",
+ "description": "Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "object": {
+ "type": "string",
+ "description": "Name of the Cloud Storage object.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "bucket",
+ "generationNumber",
+ "object"
+ ]
+ },
+ "gcp:osconfig/PatchDeploymentPatchConfigPreStep:PatchDeploymentPatchConfigPreStep": {
+ "properties": {
+ "linuxExecStepConfig": {
+ "$ref": "#/types/gcp:osconfig/PatchDeploymentPatchConfigPreStepLinuxExecStepConfig:PatchDeploymentPatchConfigPreStepLinuxExecStepConfig",
+ "description": "The ExecStepConfig for all Linux VMs targeted by the PatchJob. Structure is documented below.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "windowsExecStepConfig": {
+ "$ref": "#/types/gcp:osconfig/PatchDeploymentPatchConfigPreStepWindowsExecStepConfig:PatchDeploymentPatchConfigPreStepWindowsExecStepConfig",
+ "description": "The ExecStepConfig for all Windows VMs targeted by the PatchJob. Structure is documented below.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object"
+ },
+ "gcp:osconfig/PatchDeploymentPatchConfigPreStepLinuxExecStepConfig:PatchDeploymentPatchConfigPreStepLinuxExecStepConfig": {
+ "properties": {
+ "allowedSuccessCodes": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ },
+ "description": "Defaults to [0]. A list of possible return values that the execution can return to indicate a success.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "gcsObject": {
+ "$ref": "#/types/gcp:osconfig/PatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObject:PatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObject",
+ "description": "A Cloud Storage object containing the executable. Structure is documented below.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "interpreter": {
+ "type": "string",
+ "description": "The script interpreter to use to run the script. If no interpreter is specified the script will\nbe executed directly, which will likely only succeed for scripts with shebang lines.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "localPath": {
+ "type": "string",
+ "description": "An absolute path to the executable on the VM.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object"
+ },
+ "gcp:osconfig/PatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObject:PatchDeploymentPatchConfigPreStepLinuxExecStepConfigGcsObject": {
+ "properties": {
+ "bucket": {
+ "type": "string",
+ "description": "Bucket of the Cloud Storage object.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "generationNumber": {
+ "type": "string",
+ "description": "Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "object": {
+ "type": "string",
+ "description": "Name of the Cloud Storage object.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "bucket",
+ "generationNumber",
+ "object"
+ ]
+ },
+ "gcp:osconfig/PatchDeploymentPatchConfigPreStepWindowsExecStepConfig:PatchDeploymentPatchConfigPreStepWindowsExecStepConfig": {
+ "properties": {
+ "allowedSuccessCodes": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ },
+ "description": "Defaults to [0]. A list of possible return values that the execution can return to indicate a success.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "gcsObject": {
+ "$ref": "#/types/gcp:osconfig/PatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObject:PatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObject",
+ "description": "A Cloud Storage object containing the executable. Structure is documented below.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "interpreter": {
+ "type": "string",
+ "description": "The script interpreter to use to run the script. If no interpreter is specified the script will\nbe executed directly, which will likely only succeed for scripts with shebang lines.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "localPath": {
+ "type": "string",
+ "description": "An absolute path to the executable on the VM.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object"
+ },
+ "gcp:osconfig/PatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObject:PatchDeploymentPatchConfigPreStepWindowsExecStepConfigGcsObject": {
+ "properties": {
+ "bucket": {
+ "type": "string",
+ "description": "Bucket of the Cloud Storage object.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "generationNumber": {
+ "type": "string",
+ "description": "Generation number of the Cloud Storage object. This is used to ensure that the ExecStep specified by this PatchJob does not change.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "object": {
+ "type": "string",
+ "description": "Name of the Cloud Storage object.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "bucket",
+ "generationNumber",
+ "object"
+ ]
+ },
+ "gcp:osconfig/PatchDeploymentPatchConfigWindowsUpdate:PatchDeploymentPatchConfigWindowsUpdate": {
+ "properties": {
+ "classifications": {
+ "type": "string",
+ "description": "Only apply updates of these windows update classifications. If empty, all updates are applied.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "excludes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of KBs to exclude from update.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "exclusivePatches": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "An exclusive list of kbs to be updated. These are the only patches that will be updated.\nThis field must not be used with other patch configurations.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object"
+ },
+ "gcp:osconfig/PatchDeploymentPatchConfigYum:PatchDeploymentPatchConfigYum": {
+ "properties": {
+ "excludes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of KBs to exclude from update.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "exclusivePackages": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "An exclusive list of packages to be updated. These are the only packages that will be updated.\nIf these packages are not installed, they will be ignored. This field cannot be specified with\nany other patch configuration fields.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "minimal": {
+ "type": "boolean",
+ "description": "Will cause patch to run yum update-minimal instead.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "security": {
+ "type": "boolean",
+ "description": "Adds the --security flag to yum update. Not supported on all platforms.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object"
+ },
+ "gcp:osconfig/PatchDeploymentPatchConfigZypper:PatchDeploymentPatchConfigZypper": {
+ "properties": {
+ "categories": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Install only patches with these categories. Common categories include security, recommended, and feature.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "excludes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of KBs to exclude from update.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "exclusivePatches": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "An exclusive list of kbs to be updated. These are the only patches that will be updated.\nThis field must not be used with other patch configurations.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "severities": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Install only patches with these severities. Common severities include critical, important, moderate, and low.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "withOptional": {
+ "type": "boolean",
+ "description": "Adds the --with-optional flag to zypper patch.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "withUpdate": {
+ "type": "boolean",
+ "description": "Adds the --with-update flag, to zypper patch.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object"
+ },
+ "gcp:osconfig/PatchDeploymentRecurringSchedule:PatchDeploymentRecurringSchedule": {
+ "properties": {
+ "endTime": {
+ "type": "string",
+ "description": "The end time at which a recurring patch deployment schedule is no longer active.\nA timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds. Example: \"2014-10-02T15:01:23.045123456Z\".\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "lastExecuteTime": {
+ "type": "string",
+ "description": "-\nThe time the last patch job ran successfully.\nA timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds. Example: \"2014-10-02T15:01:23.045123456Z\".\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "monthly": {
+ "$ref": "#/types/gcp:osconfig/PatchDeploymentRecurringScheduleMonthly:PatchDeploymentRecurringScheduleMonthly",
+ "description": "Schedule with monthly executions. Structure is documented below.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "nextExecuteTime": {
+ "type": "string",
+ "description": "-\nThe time the next patch job is scheduled to run.\nA timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds. Example: \"2014-10-02T15:01:23.045123456Z\".\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "startTime": {
+ "type": "string",
+ "description": "The time that the recurring schedule becomes effective. Defaults to createTime of the patch deployment.\nA timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds. Example: \"2014-10-02T15:01:23.045123456Z\".\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "timeOfDay": {
+ "$ref": "#/types/gcp:osconfig/PatchDeploymentRecurringScheduleTimeOfDay:PatchDeploymentRecurringScheduleTimeOfDay",
+ "description": "Time of the day to run a recurring deployment. Structure is documented below.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "timeZone": {
+ "$ref": "#/types/gcp:osconfig/PatchDeploymentRecurringScheduleTimeZone:PatchDeploymentRecurringScheduleTimeZone",
+ "description": "Defines the time zone that timeOfDay is relative to. The rules for daylight saving time are\ndetermined by the chosen time zone. Structure is documented below.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "weekly": {
+ "$ref": "#/types/gcp:osconfig/PatchDeploymentRecurringScheduleWeekly:PatchDeploymentRecurringScheduleWeekly",
+ "description": "Schedule with weekly executions. Structure is documented below.\n",
"language": {
"python": {
"mapCase": false
@@ -35220,15 +36710,486 @@
}
}
},
- "inheritFromParent": {
- "type": "boolean",
+ "inheritFromParent": {
+ "type": "boolean",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "suggestedValue": {
+ "type": "string",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "allows",
+ "denies",
+ "inheritFromParent",
+ "suggestedValue"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "gcp:projects/getOrganizationPolicyListPolicyAllow:getOrganizationPolicyListPolicyAllow": {
+ "properties": {
+ "all": {
+ "type": "boolean",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "all",
+ "values"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "gcp:projects/getOrganizationPolicyListPolicyDeny:getOrganizationPolicyListPolicyDeny": {
+ "properties": {
+ "all": {
+ "type": "boolean",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "values": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "all",
+ "values"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "gcp:projects/getOrganizationPolicyRestorePolicy:getOrganizationPolicyRestorePolicy": {
+ "properties": {
+ "default": {
+ "type": "boolean",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "default"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "gcp:projects/getProjectProject:getProjectProject": {
+ "properties": {
+ "projectId": {
+ "type": "string",
+ "description": "The project id of the project.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "projectId"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
+ },
+ "gcp:pubsub/SubscriptionDeadLetterPolicy:SubscriptionDeadLetterPolicy": {
+ "properties": {
+ "deadLetterTopic": {
+ "type": "string",
+ "description": "The name of the topic to which dead letter messages should be published.\nFormat is `projects/{project}/topics/{topic}`.\nThe Cloud Pub/Sub service\\naccount associated with the enclosing subscription's\nparent project (i.e.,\nservice-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have\npermission to Publish() to this topic.\nThe operation will fail if the topic does not exist.\nUsers should ensure that there is a subscription attached to this topic\nsince messages published to a topic with no subscriptions are lost.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "maxDeliveryAttempts": {
+ "type": "integer",
+ "description": "The maximum number of delivery attempts for any message. The value must be\nbetween 5 and 100.\nThe number of delivery attempts is defined as 1 + (the sum of number of\nNACKs and number of times the acknowledgement deadline has been exceeded for the message).\nA NACK is any call to ModifyAckDeadline with a 0 deadline. Note that\nclient libraries may automatically extend ack_deadlines.\nThis field will be honored on a best effort basis.\nIf this parameter is 0, a default value of 5 is used.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object"
+ },
+ "gcp:pubsub/SubscriptionExpirationPolicy:SubscriptionExpirationPolicy": {
+ "properties": {
+ "ttl": {
+ "type": "string",
+ "description": "Specifies the \"time-to-live\" duration for an associated resource. The\nresource expires if it is not active for a period of ttl.\nIf ttl is not set, the associated resource never expires.\nA duration in seconds with up to nine fractional digits, terminated by 's'.\nExample - \"3.5s\".\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "ttl"
+ ]
+ },
+ "gcp:pubsub/SubscriptionIAMBindingCondition:SubscriptionIAMBindingCondition": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "expression": {
+ "type": "string",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "title": {
+ "type": "string",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "expression",
+ "title"
+ ]
+ },
+ "gcp:pubsub/SubscriptionIAMMemberCondition:SubscriptionIAMMemberCondition": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "expression": {
+ "type": "string",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "title": {
+ "type": "string",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "expression",
+ "title"
+ ]
+ },
+ "gcp:pubsub/SubscriptionPushConfig:SubscriptionPushConfig": {
+ "properties": {
+ "attributes": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Endpoint configuration attributes.\nEvery endpoint has a set of API supported attributes that can\nbe used to control different aspects of the message delivery.\nThe currently supported attribute is x-goog-version, which you\ncan use to change the format of the pushed message. This\nattribute indicates the version of the data expected by\nthe endpoint. This controls the shape of the pushed message\n(i.e., its fields and metadata). The endpoint version is\nbased on the version of the Pub/Sub API.\nIf not present during the subscriptions.create call,\nit will default to the version of the API used to make\nsuch call. If not present during a subscriptions.modifyPushConfig\ncall, its value will not be changed. subscriptions.get\ncalls will always return a valid version, even if the\nsubscription was created without this attribute.\nThe possible values for this attribute are:\n- v1beta1: uses the push format defined in the v1beta1 Pub/Sub API.\n- v1 or v1beta2: uses the push format defined in the v1 Pub/Sub API.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "oidcToken": {
+ "$ref": "#/types/gcp:pubsub/SubscriptionPushConfigOidcToken:SubscriptionPushConfigOidcToken",
+ "description": "If specified, Pub/Sub will generate and attach an OIDC JWT token as\nan Authorization header in the HTTP request for every pushed message. Structure is documented below.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "pushEndpoint": {
+ "type": "string",
+ "description": "A URL locating the endpoint to which messages should be pushed.\nFor example, a Webhook endpoint might use\n\"https://example.com/push\".\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "pushEndpoint"
+ ]
+ },
+ "gcp:pubsub/SubscriptionPushConfigOidcToken:SubscriptionPushConfigOidcToken": {
+ "properties": {
+ "audience": {
+ "type": "string",
+ "description": "Audience to be used when generating OIDC token. The audience claim\nidentifies the recipients that the JWT is intended for. The audience\nvalue is a single case-sensitive string. Having multiple values (array)\nfor the audience field is not supported. More info about the OIDC JWT\ntoken audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3\nNote: if not specified, the Push endpoint URL will be used.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "serviceAccountEmail": {
+ "type": "string",
+ "description": "Service account email to be used for generating the OIDC token.\nThe caller (for subscriptions.create, subscriptions.patch, and\nsubscriptions.modifyPushConfig RPCs) must have the\niam.serviceAccounts.actAs permission for the service account.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "serviceAccountEmail"
+ ]
+ },
+ "gcp:pubsub/TopicIAMBindingCondition:TopicIAMBindingCondition": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "expression": {
+ "type": "string",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "title": {
+ "type": "string",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "expression",
+ "title"
+ ]
+ },
+ "gcp:pubsub/TopicIAMMemberCondition:TopicIAMMemberCondition": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "expression": {
+ "type": "string",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "title": {
+ "type": "string",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "expression",
+ "title"
+ ]
+ },
+ "gcp:pubsub/TopicMessageStoragePolicy:TopicMessageStoragePolicy": {
+ "properties": {
+ "allowedPersistenceRegions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of IDs of GCP regions where messages that are published to\nthe topic may be persisted in storage. Messages published by\npublishers running in non-allowed GCP regions (or running outside\nof GCP altogether) will be routed for storage in one of the\nallowed regions. An empty list means that no regions are allowed,\nand is not a valid configuration.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "allowedPersistenceRegions"
+ ]
+ },
+ "gcp:runtimeconfig/ConfigIamBindingCondition:ConfigIamBindingCondition": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "expression": {
+ "type": "string",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "title": {
+ "type": "string",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "expression",
+ "title"
+ ]
+ },
+ "gcp:runtimeconfig/ConfigIamMemberCondition:ConfigIamMemberCondition": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "expression": {
+ "type": "string",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "title": {
+ "type": "string",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object",
+ "required": [
+ "expression",
+ "title"
+ ]
+ },
+ "gcp:secretmanager/SecretIamBindingCondition:SecretIamBindingCondition": {
+ "properties": {
+ "description": {
+ "type": "string",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "expression": {
+ "type": "string",
"language": {
"python": {
"mapCase": false
}
}
},
- "suggestedValue": {
+ "title": {
"type": "string",
"language": {
"python": {
@@ -35239,32 +37200,30 @@
},
"type": "object",
"required": [
- "allows",
- "denies",
- "inheritFromParent",
- "suggestedValue"
- ],
- "language": {
- "nodejs": {
- "requiredInputs": []
- }
- }
+ "expression",
+ "title"
+ ]
},
- "gcp:projects/getOrganizationPolicyListPolicyAllow:getOrganizationPolicyListPolicyAllow": {
+ "gcp:secretmanager/SecretIamMemberCondition:SecretIamMemberCondition": {
"properties": {
- "all": {
- "type": "boolean",
+ "description": {
+ "type": "string",
"language": {
"python": {
"mapCase": false
}
}
},
- "values": {
- "type": "array",
- "items": {
- "type": "string"
- },
+ "expression": {
+ "type": "string",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "title": {
+ "type": "string",
"language": {
"python": {
"mapCase": false
@@ -35274,30 +37233,41 @@
},
"type": "object",
"required": [
- "all",
- "values"
- ],
- "language": {
- "nodejs": {
- "requiredInputs": []
- }
- }
+ "expression",
+ "title"
+ ]
},
- "gcp:projects/getOrganizationPolicyListPolicyDeny:getOrganizationPolicyListPolicyDeny": {
+ "gcp:secretmanager/SecretReplication:SecretReplication": {
"properties": {
- "all": {
+ "automatic": {
"type": "boolean",
+ "description": "The Secret will automatically be replicated without any restrictions.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "values": {
+ "userManaged": {
+ "$ref": "#/types/gcp:secretmanager/SecretReplicationUserManaged:SecretReplicationUserManaged",
+ "description": "The Secret will automatically be replicated without any restrictions. Structure is documented below.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ }
+ },
+ "type": "object"
+ },
+ "gcp:secretmanager/SecretReplicationUserManaged:SecretReplicationUserManaged": {
+ "properties": {
+ "replicas": {
"type": "array",
"items": {
- "type": "string"
+ "$ref": "#/types/gcp:secretmanager/SecretReplicationUserManagedReplica:SecretReplicationUserManagedReplica"
},
+ "description": "The list of Replicas for this Secret. Cannot be empty. Structure is documented below.\n",
"language": {
"python": {
"mapCase": false
@@ -35307,19 +37277,14 @@
},
"type": "object",
"required": [
- "all",
- "values"
- ],
- "language": {
- "nodejs": {
- "requiredInputs": []
- }
- }
+ "replicas"
+ ]
},
- "gcp:projects/getOrganizationPolicyRestorePolicy:getOrganizationPolicyRestorePolicy": {
+ "gcp:secretmanager/SecretReplicationUserManagedReplica:SecretReplicationUserManagedReplica": {
"properties": {
- "default": {
- "type": "boolean",
+ "location": {
+ "type": "string",
+ "description": "The canonical IDs of the location to replicate data. For example: \"us-east1\".\n",
"language": {
"python": {
"mapCase": false
@@ -35329,19 +37294,32 @@
},
"type": "object",
"required": [
- "default"
- ],
- "language": {
- "nodejs": {
- "requiredInputs": []
- }
- }
+ "location"
+ ]
},
- "gcp:projects/getProjectProject:getProjectProject": {
+ "gcp:serviceAccount/IAMBindingCondition:IAMBindingCondition": {
"properties": {
- "projectId": {
+ "description": {
"type": "string",
- "description": "The project id of the project.\n",
+ "description": "An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "expression": {
+ "type": "string",
+ "description": "Textual representation of an expression in Common Expression Language syntax.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "title": {
+ "type": "string",
+ "description": "A title for the expression, i.e. a short string describing its purpose.\n",
"language": {
"python": {
"mapCase": false
@@ -35351,42 +37329,33 @@
},
"type": "object",
"required": [
- "projectId"
- ],
- "language": {
- "nodejs": {
- "requiredInputs": []
- }
- }
+ "expression",
+ "title"
+ ]
},
- "gcp:pubsub/SubscriptionDeadLetterPolicy:SubscriptionDeadLetterPolicy": {
+ "gcp:serviceAccount/IAMMemberCondition:IAMMemberCondition": {
"properties": {
- "deadLetterTopic": {
+ "description": {
"type": "string",
- "description": "The name of the topic to which dead letter messages should be published.\nFormat is `projects/{project}/topics/{topic}`.\nThe Cloud Pub/Sub service\\naccount associated with the enclosing subscription's\nparent project (i.e.,\nservice-{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have\npermission to Publish() to this topic.\nThe operation will fail if the topic does not exist.\nUsers should ensure that there is a subscription attached to this topic\nsince messages published to a topic with no subscriptions are lost.\n",
+ "description": "An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "maxDeliveryAttempts": {
- "type": "integer",
- "description": "The maximum number of delivery attempts for any message. The value must be\nbetween 5 and 100.\nThe number of delivery attempts is defined as 1 + (the sum of number of\nNACKs and number of times the acknowledgement deadline has been exceeded for the message).\nA NACK is any call to ModifyAckDeadline with a 0 deadline. Note that\nclient libraries may automatically extend ack_deadlines.\nThis field will be honored on a best effort basis.\nIf this parameter is 0, a default value of 5 is used.\n",
+ "expression": {
+ "type": "string",
+ "description": "Textual representation of an expression in Common Expression Language syntax.\n",
"language": {
"python": {
"mapCase": false
}
}
- }
- },
- "type": "object"
- },
- "gcp:pubsub/SubscriptionExpirationPolicy:SubscriptionExpirationPolicy": {
- "properties": {
- "ttl": {
+ },
+ "title": {
"type": "string",
- "description": "Specifies the \"time-to-live\" duration for an associated resource. The\nresource expires if it is not active for a period of ttl.\nIf ttl is not set, the associated resource never expires.\nA duration in seconds with up to nine fractional digits, terminated by 's'.\nExample - \"3.5s\".\n",
+ "description": "A title for the expression, i.e. a short string describing its purpose.\n",
"language": {
"python": {
"mapCase": false
@@ -35396,10 +37365,11 @@
},
"type": "object",
"required": [
- "ttl"
+ "expression",
+ "title"
]
},
- "gcp:pubsub/SubscriptionIAMBindingCondition:SubscriptionIAMBindingCondition": {
+ "gcp:servicedirectory/NamespaceIamBindingCondition:NamespaceIamBindingCondition": {
"properties": {
"description": {
"type": "string",
@@ -35432,7 +37402,7 @@
"title"
]
},
- "gcp:pubsub/SubscriptionIAMMemberCondition:SubscriptionIAMMemberCondition": {
+ "gcp:servicedirectory/NamespaceIamMemberCondition:NamespaceIamMemberCondition": {
"properties": {
"description": {
"type": "string",
@@ -35465,32 +37435,26 @@
"title"
]
},
- "gcp:pubsub/SubscriptionPushConfig:SubscriptionPushConfig": {
+ "gcp:servicedirectory/ServiceIamBindingCondition:ServiceIamBindingCondition": {
"properties": {
- "attributes": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "description": "Endpoint configuration attributes.\nEvery endpoint has a set of API supported attributes that can\nbe used to control different aspects of the message delivery.\nThe currently supported attribute is x-goog-version, which you\ncan use to change the format of the pushed message. This\nattribute indicates the version of the data expected by\nthe endpoint. This controls the shape of the pushed message\n(i.e., its fields and metadata). The endpoint version is\nbased on the version of the Pub/Sub API.\nIf not present during the subscriptions.create call,\nit will default to the version of the API used to make\nsuch call. If not present during a subscriptions.modifyPushConfig\ncall, its value will not be changed. subscriptions.get\ncalls will always return a valid version, even if the\nsubscription was created without this attribute.\nThe possible values for this attribute are:\n- v1beta1: uses the push format defined in the v1beta1 Pub/Sub API.\n- v1 or v1beta2: uses the push format defined in the v1 Pub/Sub API.\n",
+ "description": {
+ "type": "string",
"language": {
"python": {
"mapCase": false
}
}
},
- "oidcToken": {
- "$ref": "#/types/gcp:pubsub/SubscriptionPushConfigOidcToken:SubscriptionPushConfigOidcToken",
- "description": "If specified, Pub/Sub will generate and attach an OIDC JWT token as\nan Authorization header in the HTTP request for every pushed message. Structure is documented below.\n",
+ "expression": {
+ "type": "string",
"language": {
"python": {
"mapCase": false
}
}
},
- "pushEndpoint": {
+ "title": {
"type": "string",
- "description": "A URL locating the endpoint to which messages should be pushed.\nFor example, a Webhook endpoint might use\n\"https://example.com/push\".\n",
"language": {
"python": {
"mapCase": false
@@ -35500,23 +37464,30 @@
},
"type": "object",
"required": [
- "pushEndpoint"
+ "expression",
+ "title"
]
},
- "gcp:pubsub/SubscriptionPushConfigOidcToken:SubscriptionPushConfigOidcToken": {
+ "gcp:servicedirectory/ServiceIamMemberCondition:ServiceIamMemberCondition": {
"properties": {
- "audience": {
+ "description": {
"type": "string",
- "description": "Audience to be used when generating OIDC token. The audience claim\nidentifies the recipients that the JWT is intended for. The audience\nvalue is a single case-sensitive string. Having multiple values (array)\nfor the audience field is not supported. More info about the OIDC JWT\ntoken audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3\nNote: if not specified, the Push endpoint URL will be used.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "serviceAccountEmail": {
+ "expression": {
+ "type": "string",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "title": {
"type": "string",
- "description": "Service account email to be used for generating the OIDC token.\nThe caller (for subscriptions.create, subscriptions.patch, and\nsubscriptions.modifyPushConfig RPCs) must have the\niam.serviceAccounts.actAs permission for the service account.\n",
"language": {
"python": {
"mapCase": false
@@ -35526,10 +37497,11 @@
},
"type": "object",
"required": [
- "serviceAccountEmail"
+ "expression",
+ "title"
]
},
- "gcp:pubsub/TopicIAMBindingCondition:TopicIAMBindingCondition": {
+ "gcp:sourcerepo/RepositoryIamBindingCondition:RepositoryIamBindingCondition": {
"properties": {
"description": {
"type": "string",
@@ -35562,7 +37534,7 @@
"title"
]
},
- "gcp:pubsub/TopicIAMMemberCondition:TopicIAMMemberCondition": {
+ "gcp:sourcerepo/RepositoryIamMemberCondition:RepositoryIamMemberCondition": {
"properties": {
"description": {
"type": "string",
@@ -35595,14 +37567,29 @@
"title"
]
},
- "gcp:pubsub/TopicMessageStoragePolicy:TopicMessageStoragePolicy": {
+ "gcp:sourcerepo/RepositoryPubsubConfig:RepositoryPubsubConfig": {
"properties": {
- "allowedPersistenceRegions": {
- "type": "array",
- "items": {
- "type": "string"
- },
- "description": "A list of IDs of GCP regions where messages that are published to\nthe topic may be persisted in storage. Messages published by\npublishers running in non-allowed GCP regions (or running outside\nof GCP altogether) will be routed for storage in one of the\nallowed regions. An empty list means that no regions are allowed,\nand is not a valid configuration.\n",
+ "messageFormat": {
+ "type": "string",
+ "description": "The format of the Cloud Pub/Sub messages.\n- PROTOBUF: The message payload is a serialized protocol buffer of SourceRepoEvent.\n- JSON: The message payload is a JSON string of SourceRepoEvent.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "serviceAccountEmail": {
+ "type": "string",
+ "description": "Email address of the service account used for publishing Cloud Pub/Sub messages.\nThis service account needs to be in the same project as the PubsubConfig. When added,\nthe caller needs to have iam.serviceAccounts.actAs permission on this service account.\nIf unspecified, it defaults to the compute engine default service account.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "topic": {
+ "type": "string",
+ "description": "The identifier for this object. Format specified above.\n",
"language": {
"python": {
"mapCase": false
@@ -35612,10 +37599,20 @@
},
"type": "object",
"required": [
- "allowedPersistenceRegions"
- ]
+ "messageFormat",
+ "topic"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredOutputs": [
+ "messageFormat",
+ "serviceAccountEmail",
+ "topic"
+ ]
+ }
+ }
},
- "gcp:runtimeconfig/ConfigIamBindingCondition:ConfigIamBindingCondition": {
+ "gcp:spanner/DatabaseIAMBindingCondition:DatabaseIAMBindingCondition": {
"properties": {
"description": {
"type": "string",
@@ -35648,7 +37645,7 @@
"title"
]
},
- "gcp:runtimeconfig/ConfigIamMemberCondition:ConfigIamMemberCondition": {
+ "gcp:spanner/DatabaseIAMMemberCondition:DatabaseIAMMemberCondition": {
"properties": {
"description": {
"type": "string",
@@ -35681,7 +37678,7 @@
"title"
]
},
- "gcp:secretmanager/SecretIamBindingCondition:SecretIamBindingCondition": {
+ "gcp:spanner/InstanceIAMBindingCondition:InstanceIAMBindingCondition": {
"properties": {
"description": {
"type": "string",
@@ -35714,7 +37711,7 @@
"title"
]
},
- "gcp:secretmanager/SecretIamMemberCondition:SecretIamMemberCondition": {
+ "gcp:spanner/InstanceIAMMemberCondition:InstanceIAMMemberCondition": {
"properties": {
"description": {
"type": "string",
@@ -35747,37 +37744,26 @@
"title"
]
},
- "gcp:secretmanager/SecretReplication:SecretReplication": {
+ "gcp:sql/DatabaseInstanceIpAddress:DatabaseInstanceIpAddress": {
"properties": {
- "automatic": {
- "type": "boolean",
- "description": "The Secret will automatically be replicated without any restrictions.\n",
+ "ipAddress": {
+ "type": "string",
"language": {
"python": {
"mapCase": false
}
}
},
- "userManaged": {
- "$ref": "#/types/gcp:secretmanager/SecretReplicationUserManaged:SecretReplicationUserManaged",
- "description": "The Secret will automatically be replicated without any restrictions. Structure is documented below.\n",
+ "timeToRetire": {
+ "type": "string",
"language": {
"python": {
"mapCase": false
}
}
- }
- },
- "type": "object"
- },
- "gcp:secretmanager/SecretReplicationUserManaged:SecretReplicationUserManaged": {
- "properties": {
- "replicas": {
- "type": "array",
- "items": {
- "$ref": "#/types/gcp:secretmanager/SecretReplicationUserManagedReplica:SecretReplicationUserManagedReplica"
- },
- "description": "The list of Replicas for this Secret. Cannot be empty. Structure is documented below.\n",
+ },
+ "type": {
+ "type": "string",
"language": {
"python": {
"mapCase": false
@@ -35786,50 +37772,110 @@
}
},
"type": "object",
- "required": [
- "replicas"
- ]
+ "language": {
+ "nodejs": {
+ "requiredOutputs": [
+ "ipAddress",
+ "timeToRetire",
+ "type"
+ ]
+ }
+ }
},
- "gcp:secretmanager/SecretReplicationUserManagedReplica:SecretReplicationUserManagedReplica": {
+ "gcp:sql/DatabaseInstanceReplicaConfiguration:DatabaseInstanceReplicaConfiguration": {
"properties": {
- "location": {
+ "caCertificate": {
"type": "string",
- "description": "The canonical IDs of the location to replicate data. For example: \"us-east1\".\n",
+ "description": "PEM representation of the trusted CA's x509\ncertificate.\n",
"language": {
"python": {
"mapCase": false
}
}
- }
- },
- "type": "object",
- "required": [
- "location"
- ]
- },
- "gcp:serviceAccount/IAMBindingCondition:IAMBindingCondition": {
- "properties": {
- "description": {
+ },
+ "clientCertificate": {
"type": "string",
- "description": "An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.\n",
+ "description": "PEM representation of the slave's x509\ncertificate.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "expression": {
+ "clientKey": {
"type": "string",
- "description": "Textual representation of an expression in Common Expression Language syntax.\n",
+ "description": "PEM representation of the slave's private key. The\ncorresponding public key in encoded in the `client_certificate`.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "title": {
+ "connectRetryInterval": {
+ "type": "integer",
+ "description": "The number of seconds\nbetween connect retries.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "dumpFilePath": {
"type": "string",
- "description": "A title for the expression, i.e. a short string describing its purpose.\n",
+ "description": "Path to a SQL file in GCS from which slave\ninstances are created. Format is `gs://bucket/filename`.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "failoverTarget": {
+ "type": "boolean",
+ "description": "Specifies if the replica is the failover target.\nIf the field is set to true the replica will be designated as a failover replica.\nIf the master instance fails, the replica instance will be promoted as\nthe new master instance.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "masterHeartbeatPeriod": {
+ "type": "integer",
+ "description": "Time in ms between replication\nheartbeats.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "password": {
+ "type": "string",
+ "description": "Password for the replication connection.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "sslCipher": {
+ "type": "string",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "username": {
+ "type": "string",
+ "description": "Username for replication connection.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "verifyServerCertificate": {
+ "type": "boolean",
+ "description": "True if the master's common name\nvalue is checked during the SSL handshake.\n",
"language": {
"python": {
"mapCase": false
@@ -35837,35 +37883,45 @@
}
}
},
- "type": "object",
- "required": [
- "expression",
- "title"
- ]
+ "type": "object"
},
- "gcp:serviceAccount/IAMMemberCondition:IAMMemberCondition": {
+ "gcp:sql/DatabaseInstanceServerCaCert:DatabaseInstanceServerCaCert": {
"properties": {
- "description": {
+ "cert": {
"type": "string",
- "description": "An optional description of the expression. This is a longer text which describes the expression, e.g. when hovered over it in a UI.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "expression": {
+ "commonName": {
"type": "string",
- "description": "Textual representation of an expression in Common Expression Language syntax.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "title": {
+ "createTime": {
+ "type": "string",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "expirationTime": {
+ "type": "string",
+ "description": "The [RFC 3339](https://tools.ietf.org/html/rfc3339)\nformatted date time string indicating when this whitelist expires.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "sha1Fingerprint": {
"type": "string",
- "description": "A title for the expression, i.e. a short string describing its purpose.\n",
"language": {
"python": {
"mapCase": false
@@ -35874,97 +37930,173 @@
}
},
"type": "object",
- "required": [
- "expression",
- "title"
- ]
+ "language": {
+ "nodejs": {
+ "requiredOutputs": [
+ "cert",
+ "commonName",
+ "createTime",
+ "expirationTime",
+ "sha1Fingerprint"
+ ]
+ }
+ }
},
- "gcp:servicedirectory/NamespaceIamBindingCondition:NamespaceIamBindingCondition": {
+ "gcp:sql/DatabaseInstanceSettings:DatabaseInstanceSettings": {
"properties": {
- "description": {
+ "activationPolicy": {
+ "type": "string",
+ "description": "This specifies when the instance should be\nactive. Can be either `ALWAYS`, `NEVER` or `ON_DEMAND`.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "authorizedGaeApplications": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "This property is only applicable to First Generation instances.\nFirst Generation instances are now deprecated, see [here](https://cloud.google.com/sql/docs/mysql/upgrade-2nd-gen)\nfor information on how to upgrade to Second Generation instances.\nA list of Google App Engine (GAE) project names that are allowed to access this instance.\n",
+ "deprecationMessage": "This property is only applicable to First Generation instances, and First Generation instances are now deprecated.",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "availabilityType": {
"type": "string",
+ "description": "The availability type of the Cloud SQL\ninstance, high availability (`REGIONAL`) or single zone (`ZONAL`).' For MySQL\ninstances, ensure that `settings.backup_configuration.enabled` and\n`settings.backup_configuration.binary_log_enabled` are both set to `true`.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "backupConfiguration": {
+ "$ref": "#/types/gcp:sql/DatabaseInstanceSettingsBackupConfiguration:DatabaseInstanceSettingsBackupConfiguration",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "crashSafeReplication": {
+ "type": "boolean",
+ "description": "This property is only applicable to First Generation instances.\nFirst Generation instances are now deprecated, see [here](https://cloud.google.com/sql/docs/mysql/upgrade-2nd-gen)\nfor information on how to upgrade to Second Generation instances.\nSpecific to read instances, indicates\nwhen crash-safe replication flags are enabled.\n",
+ "deprecationMessage": "This property is only applicable to First Generation instances, and First Generation instances are now deprecated.",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "databaseFlags": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/gcp:sql/DatabaseInstanceSettingsDatabaseFlag:DatabaseInstanceSettingsDatabaseFlag"
+ },
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "diskAutoresize": {
+ "type": "boolean",
+ "description": "Configuration to increase storage size automatically. Note that future `pulumi apply` calls will attempt to resize the disk to the value specified in `disk_size` - if this is set, do not set `disk_size`.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "diskSize": {
+ "type": "integer",
+ "description": "The size of data disk, in GB. Size of a running instance cannot be reduced but can be increased.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "expression": {
+ "diskType": {
"type": "string",
+ "description": "The type of data disk: PD_SSD or PD_HDD.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "title": {
- "type": "string",
+ "ipConfiguration": {
+ "$ref": "#/types/gcp:sql/DatabaseInstanceSettingsIpConfiguration:DatabaseInstanceSettingsIpConfiguration",
"language": {
"python": {
"mapCase": false
}
}
- }
- },
- "type": "object",
- "required": [
- "expression",
- "title"
- ]
- },
- "gcp:servicedirectory/NamespaceIamMemberCondition:NamespaceIamMemberCondition": {
- "properties": {
- "description": {
- "type": "string",
+ },
+ "locationPreference": {
+ "$ref": "#/types/gcp:sql/DatabaseInstanceSettingsLocationPreference:DatabaseInstanceSettingsLocationPreference",
"language": {
"python": {
"mapCase": false
}
}
},
- "expression": {
- "type": "string",
+ "maintenanceWindow": {
+ "$ref": "#/types/gcp:sql/DatabaseInstanceSettingsMaintenanceWindow:DatabaseInstanceSettingsMaintenanceWindow",
"language": {
"python": {
"mapCase": false
}
}
},
- "title": {
+ "pricingPlan": {
"type": "string",
+ "description": "Pricing plan for this instance, can only be `PER_USE`.\n",
"language": {
"python": {
"mapCase": false
}
}
- }
- },
- "type": "object",
- "required": [
- "expression",
- "title"
- ]
- },
- "gcp:servicedirectory/ServiceIamBindingCondition:ServiceIamBindingCondition": {
- "properties": {
- "description": {
+ },
+ "replicationType": {
"type": "string",
+ "description": "This property is only applicable to First Generation instances.\nFirst Generation instances are now deprecated, see [here](https://cloud.google.com/sql/docs/mysql/upgrade-2nd-gen)\nfor information on how to upgrade to Second Generation instances.\nReplication type for this instance, can be one of `ASYNCHRONOUS` or `SYNCHRONOUS`.\n",
+ "deprecationMessage": "This property is only applicable to First Generation instances, and First Generation instances are now deprecated.",
"language": {
"python": {
"mapCase": false
}
}
},
- "expression": {
+ "tier": {
"type": "string",
+ "description": "The machine type to use. See [tiers](https://cloud.google.com/sql/docs/admin-api/v1beta4/tiers)\nfor more details and supported versions. Postgres supports only shared-core machine types such as `db-f1-micro`,\nand custom machine types such as `db-custom-2-13312`. See the [Custom Machine Type Documentation](https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#create) to learn about specifying custom machine types.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "title": {
- "type": "string",
+ "userLabels": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "A set of key/value user label pairs to assign to the instance.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "version": {
+ "type": "integer",
"language": {
"python": {
"mapCase": false
@@ -35974,63 +38106,86 @@
},
"type": "object",
"required": [
- "expression",
- "title"
- ]
+ "tier"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredOutputs": [
+ "activationPolicy",
+ "availabilityType",
+ "backupConfiguration",
+ "crashSafeReplication",
+ "diskSize",
+ "diskType",
+ "ipConfiguration",
+ "locationPreference",
+ "tier",
+ "version"
+ ]
+ }
+ }
},
- "gcp:servicedirectory/ServiceIamMemberCondition:ServiceIamMemberCondition": {
+ "gcp:sql/DatabaseInstanceSettingsBackupConfiguration:DatabaseInstanceSettingsBackupConfiguration": {
"properties": {
- "description": {
- "type": "string",
+ "binaryLogEnabled": {
+ "type": "boolean",
+ "description": "True if binary logging is enabled. If\n`settings.backup_configuration.enabled` is false, this must be as well.\nCannot be used with Postgres.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "expression": {
- "type": "string",
+ "enabled": {
+ "type": "boolean",
+ "description": "True if backup configuration is enabled.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "title": {
+ "location": {
"type": "string",
"language": {
"python": {
"mapCase": false
}
}
- }
- },
- "type": "object",
- "required": [
- "expression",
- "title"
- ]
- },
- "gcp:sourcerepo/RepositoryIamBindingCondition:RepositoryIamBindingCondition": {
- "properties": {
- "description": {
+ },
+ "startTime": {
"type": "string",
+ "description": "`HH:MM` format time indicating when backup\nconfiguration starts.\n",
"language": {
"python": {
"mapCase": false
}
}
- },
- "expression": {
+ }
+ },
+ "type": "object",
+ "language": {
+ "nodejs": {
+ "requiredOutputs": [
+ "startTime"
+ ]
+ }
+ }
+ },
+ "gcp:sql/DatabaseInstanceSettingsDatabaseFlag:DatabaseInstanceSettingsDatabaseFlag": {
+ "properties": {
+ "name": {
"type": "string",
+ "description": "A name for this whitelist entry.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "title": {
+ "value": {
"type": "string",
+ "description": "A CIDR notation IPv4 or IPv6 address that is allowed to\naccess this instance. Must be set even if other two attributes are not for\nthe whitelist to become active.\n",
"language": {
"python": {
"mapCase": false
@@ -36040,30 +38195,44 @@
},
"type": "object",
"required": [
- "expression",
- "title"
+ "name",
+ "value"
]
},
- "gcp:sourcerepo/RepositoryIamMemberCondition:RepositoryIamMemberCondition": {
+ "gcp:sql/DatabaseInstanceSettingsIpConfiguration:DatabaseInstanceSettingsIpConfiguration": {
"properties": {
- "description": {
- "type": "string",
+ "authorizedNetworks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/gcp:sql/DatabaseInstanceSettingsIpConfigurationAuthorizedNetwork:DatabaseInstanceSettingsIpConfigurationAuthorizedNetwork"
+ },
"language": {
"python": {
"mapCase": false
}
}
},
- "expression": {
- "type": "string",
+ "ipv4Enabled": {
+ "type": "boolean",
+ "description": "Whether this Cloud SQL instance should be assigned\na public IPV4 address. Either `ipv4_enabled` must be enabled or a\n`private_network` must be configured.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "title": {
+ "privateNetwork": {
"type": "string",
+ "description": "The VPC network from which the Cloud SQL\ninstance is accessible for private IP. For example, projects/myProject/global/networks/default.\nSpecifying a network enables private IP.\nEither `ipv4_enabled` must be enabled or a `private_network` must be configured.\nThis setting can be updated, but it cannot be removed after it is set.\n",
+ "language": {
+ "python": {
+ "mapCase": false
+ }
+ }
+ },
+ "requireSsl": {
+ "type": "boolean",
+ "description": "True if mysqld should default to `REQUIRE X509`\nfor users connecting over IP.\n",
"language": {
"python": {
"mapCase": false
@@ -36071,35 +38240,31 @@
}
}
},
- "type": "object",
- "required": [
- "expression",
- "title"
- ]
+ "type": "object"
},
- "gcp:sourcerepo/RepositoryPubsubConfig:RepositoryPubsubConfig": {
+ "gcp:sql/DatabaseInstanceSettingsIpConfigurationAuthorizedNetwork:DatabaseInstanceSettingsIpConfigurationAuthorizedNetwork": {
"properties": {
- "messageFormat": {
+ "expirationTime": {
"type": "string",
- "description": "The format of the Cloud Pub/Sub messages.\n- PROTOBUF: The message payload is a serialized protocol buffer of SourceRepoEvent.\n- JSON: The message payload is a JSON string of SourceRepoEvent.\n",
+ "description": "The [RFC 3339](https://tools.ietf.org/html/rfc3339)\nformatted date time string indicating when this whitelist expires.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "serviceAccountEmail": {
+ "name": {
"type": "string",
- "description": "Email address of the service account used for publishing Cloud Pub/Sub messages.\nThis service account needs to be in the same project as the PubsubConfig. When added,\nthe caller needs to have iam.serviceAccounts.actAs permission on this service account.\nIf unspecified, it defaults to the compute engine default service account.\n",
+ "description": "A name for this whitelist entry.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "topic": {
+ "value": {
"type": "string",
- "description": "The identifier for this object. Format specified above.\n",
+ "description": "A CIDR notation IPv4 or IPv6 address that is allowed to\naccess this instance. Must be set even if other two attributes are not for\nthe whitelist to become active.\n",
"language": {
"python": {
"mapCase": false
@@ -36109,39 +38274,23 @@
},
"type": "object",
"required": [
- "messageFormat",
- "topic"
- ],
- "language": {
- "nodejs": {
- "requiredOutputs": [
- "messageFormat",
- "serviceAccountEmail",
- "topic"
- ]
- }
- }
+ "value"
+ ]
},
- "gcp:spanner/DatabaseIAMBindingCondition:DatabaseIAMBindingCondition": {
+ "gcp:sql/DatabaseInstanceSettingsLocationPreference:DatabaseInstanceSettingsLocationPreference": {
"properties": {
- "description": {
- "type": "string",
- "language": {
- "python": {
- "mapCase": false
- }
- }
- },
- "expression": {
+ "followGaeApplication": {
"type": "string",
+ "description": "A GAE application whose zone to remain\nin. Must be in the same region as this instance.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "title": {
+ "zone": {
"type": "string",
+ "description": "The preferred compute engine\n[zone](https://cloud.google.com/compute/docs/zones?hl=en).\n",
"language": {
"python": {
"mapCase": false
@@ -36149,32 +38298,31 @@
}
}
},
- "type": "object",
- "required": [
- "expression",
- "title"
- ]
+ "type": "object"
},
- "gcp:spanner/DatabaseIAMMemberCondition:DatabaseIAMMemberCondition": {
+ "gcp:sql/DatabaseInstanceSettingsMaintenanceWindow:DatabaseInstanceSettingsMaintenanceWindow": {
"properties": {
- "description": {
- "type": "string",
+ "day": {
+ "type": "integer",
+ "description": "Day of week (`1-7`), starting on Monday\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "expression": {
- "type": "string",
+ "hour": {
+ "type": "integer",
+ "description": "Hour of day (`0-23`), ignored if `day` not set\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "title": {
+ "updateTrack": {
"type": "string",
+ "description": "Receive updates earlier (`canary`) or later\n(`stable`)\n",
"language": {
"python": {
"mapCase": false
@@ -36182,65 +38330,49 @@
}
}
},
- "type": "object",
- "required": [
- "expression",
- "title"
- ]
+ "type": "object"
},
- "gcp:spanner/InstanceIAMBindingCondition:InstanceIAMBindingCondition": {
+ "gcp:sql/getCaCertsCert:getCaCertsCert": {
"properties": {
- "description": {
+ "cert": {
"type": "string",
+ "description": "The CA certificate used to connect to the SQL instance via SSL.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "expression": {
+ "commonName": {
"type": "string",
+ "description": "The CN valid for the CA cert.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "title": {
- "type": "string",
- "language": {
- "python": {
- "mapCase": false
- }
- }
- }
- },
- "type": "object",
- "required": [
- "expression",
- "title"
- ]
- },
- "gcp:spanner/InstanceIAMMemberCondition:InstanceIAMMemberCondition": {
- "properties": {
- "description": {
+ "createTime": {
"type": "string",
+ "description": "Creation time of the CA cert.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "expression": {
+ "expirationTime": {
"type": "string",
+ "description": "Expiration time of the CA cert.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "title": {
+ "sha1Fingerprint": {
"type": "string",
+ "description": "SHA1 fingerprint of the CA cert.\n",
"language": {
"python": {
"mapCase": false
@@ -36250,11 +38382,19 @@
},
"type": "object",
"required": [
- "expression",
- "title"
- ]
+ "cert",
+ "commonName",
+ "createTime",
+ "expirationTime",
+ "sha1Fingerprint"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
},
- "gcp:sql/DatabaseInstanceIpAddress:DatabaseInstanceIpAddress": {
+ "gcp:sql/getDatabaseInstanceIpAddress:getDatabaseInstanceIpAddress": {
"properties": {
"ipAddress": {
"type": "string",
@@ -36282,21 +38422,22 @@
}
},
"type": "object",
+ "required": [
+ "ipAddress",
+ "timeToRetire",
+ "type"
+ ],
"language": {
"nodejs": {
- "requiredOutputs": [
- "ipAddress",
- "timeToRetire",
- "type"
- ]
+ "requiredInputs": []
}
}
},
- "gcp:sql/DatabaseInstanceReplicaConfiguration:DatabaseInstanceReplicaConfiguration": {
+ "gcp:sql/getDatabaseInstanceReplicaConfiguration:getDatabaseInstanceReplicaConfiguration": {
"properties": {
"caCertificate": {
"type": "string",
- "description": "PEM representation of the trusted CA's x509\ncertificate.\n",
+ "description": "PEM representation of the trusted CA's x509 certificate.\n",
"language": {
"python": {
"mapCase": false
@@ -36305,7 +38446,7 @@
},
"clientCertificate": {
"type": "string",
- "description": "PEM representation of the slave's x509\ncertificate.\n",
+ "description": "PEM representation of the slave's x509 certificate.\n",
"language": {
"python": {
"mapCase": false
@@ -36314,7 +38455,7 @@
},
"clientKey": {
"type": "string",
- "description": "PEM representation of the slave's private key. The\ncorresponding public key in encoded in the `client_certificate`.\n",
+ "description": "PEM representation of the slave's private key.\n",
"language": {
"python": {
"mapCase": false
@@ -36323,7 +38464,7 @@
},
"connectRetryInterval": {
"type": "integer",
- "description": "The number of seconds\nbetween connect retries.\n",
+ "description": "The number of seconds between connect retries.\n",
"language": {
"python": {
"mapCase": false
@@ -36332,7 +38473,7 @@
},
"dumpFilePath": {
"type": "string",
- "description": "Path to a SQL file in GCS from which slave\ninstances are created. Format is `gs://bucket/filename`.\n",
+ "description": "Path to a SQL file in GCS from which slave instances are created.\n",
"language": {
"python": {
"mapCase": false
@@ -36341,7 +38482,7 @@
},
"failoverTarget": {
"type": "boolean",
- "description": "Specifies if the replica is the failover target.\nIf the field is set to true the replica will be designated as a failover replica.\nIf the master instance fails, the replica instance will be promoted as\nthe new master instance.\n",
+ "description": "Specifies if the replica is the failover target.\n",
"language": {
"python": {
"mapCase": false
@@ -36350,7 +38491,7 @@
},
"masterHeartbeatPeriod": {
"type": "integer",
- "description": "Time in ms between replication\nheartbeats.\n",
+ "description": "Time in ms between replication heartbeats.\n",
"language": {
"python": {
"mapCase": false
@@ -36385,7 +38526,7 @@
},
"verifyServerCertificate": {
"type": "boolean",
- "description": "True if the master's common name\nvalue is checked during the SSL handshake.\n",
+ "description": "True if the master's common name value is checked during the SSL handshake.\n",
"language": {
"python": {
"mapCase": false
@@ -36393,9 +38534,27 @@
}
}
},
- "type": "object"
+ "type": "object",
+ "required": [
+ "caCertificate",
+ "clientCertificate",
+ "clientKey",
+ "connectRetryInterval",
+ "dumpFilePath",
+ "failoverTarget",
+ "masterHeartbeatPeriod",
+ "password",
+ "sslCipher",
+ "username",
+ "verifyServerCertificate"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
},
- "gcp:sql/DatabaseInstanceServerCaCert:DatabaseInstanceServerCaCert": {
+ "gcp:sql/getDatabaseInstanceServerCaCert:getDatabaseInstanceServerCaCert": {
"properties": {
"cert": {
"type": "string",
@@ -36440,19 +38599,20 @@
}
},
"type": "object",
+ "required": [
+ "cert",
+ "commonName",
+ "createTime",
+ "expirationTime",
+ "sha1Fingerprint"
+ ],
"language": {
"nodejs": {
- "requiredOutputs": [
- "cert",
- "commonName",
- "createTime",
- "expirationTime",
- "sha1Fingerprint"
- ]
+ "requiredInputs": []
}
}
},
- "gcp:sql/DatabaseInstanceSettings:DatabaseInstanceSettings": {
+ "gcp:sql/getDatabaseInstanceSetting:getDatabaseInstanceSetting": {
"properties": {
"activationPolicy": {
"type": "string",
@@ -36468,8 +38628,7 @@
"items": {
"type": "string"
},
- "description": "This property is only applicable to First Generation instances.\nFirst Generation instances are now deprecated, see [here](https://cloud.google.com/sql/docs/mysql/upgrade-2nd-gen)\nfor information on how to upgrade to Second Generation instances.\nA list of Google App Engine (GAE) project names that are allowed to access this instance.\n",
- "deprecationMessage": "This property is only applicable to First Generation instances, and First Generation instances are now deprecated.",
+ "description": "(Deprecated) This property is only applicable to First Generation instances.\nFirst Generation instances are now deprecated, see [here](https://cloud.google.com/sql/docs/mysql/upgrade-2nd-gen)\nfor information on how to upgrade to Second Generation instances.\nA list of Google App Engine (GAE) project names that are allowed to access this instance.\n",
"language": {
"python": {
"mapCase": false
@@ -36478,15 +38637,18 @@
},
"availabilityType": {
"type": "string",
- "description": "The availability type of the Cloud SQL\ninstance, high availability (`REGIONAL`) or single zone (`ZONAL`).' For MySQL\ninstances, ensure that `settings.backup_configuration.enabled` and\n`settings.backup_configuration.binary_log_enabled` are both set to `true`.\n",
+ "description": "The availability type of the Cloud SQL\ninstance, high availability (`REGIONAL`) or single zone (`ZONAL`).\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "backupConfiguration": {
- "$ref": "#/types/gcp:sql/DatabaseInstanceSettingsBackupConfiguration:DatabaseInstanceSettingsBackupConfiguration",
+ "backupConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/gcp:sql/getDatabaseInstanceSettingBackupConfiguration:getDatabaseInstanceSettingBackupConfiguration"
+ },
"language": {
"python": {
"mapCase": false
@@ -36495,8 +38657,7 @@
},
"crashSafeReplication": {
"type": "boolean",
- "description": "This property is only applicable to First Generation instances.\nFirst Generation instances are now deprecated, see [here](https://cloud.google.com/sql/docs/mysql/upgrade-2nd-gen)\nfor information on how to upgrade to Second Generation instances.\nSpecific to read instances, indicates\nwhen crash-safe replication flags are enabled.\n",
- "deprecationMessage": "This property is only applicable to First Generation instances, and First Generation instances are now deprecated.",
+ "description": "(Deprecated) This property is only applicable to First Generation instances.\nFirst Generation instances are now deprecated, see [here](https://cloud.google.com/sql/docs/mysql/upgrade-2nd-gen)\n",
"language": {
"python": {
"mapCase": false
@@ -36506,7 +38667,7 @@
"databaseFlags": {
"type": "array",
"items": {
- "$ref": "#/types/gcp:sql/DatabaseInstanceSettingsDatabaseFlag:DatabaseInstanceSettingsDatabaseFlag"
+ "$ref": "#/types/gcp:sql/getDatabaseInstanceSettingDatabaseFlag:getDatabaseInstanceSettingDatabaseFlag"
},
"language": {
"python": {
@@ -36516,7 +38677,7 @@
},
"diskAutoresize": {
"type": "boolean",
- "description": "Configuration to increase storage size automatically. Note that future `pulumi apply` calls will attempt to resize the disk to the value specified in `disk_size` - if this is set, do not set `disk_size`.\n",
+ "description": "Configuration to increase storage size automatically.\n",
"language": {
"python": {
"mapCase": false
@@ -36525,7 +38686,7 @@
},
"diskSize": {
"type": "integer",
- "description": "The size of data disk, in GB. Size of a running instance cannot be reduced but can be increased.\n",
+ "description": "The size of data disk, in GB.\n",
"language": {
"python": {
"mapCase": false
@@ -36534,31 +38695,40 @@
},
"diskType": {
"type": "string",
- "description": "The type of data disk: PD_SSD or PD_HDD.\n",
+ "description": "The type of data disk.\n",
"language": {
"python": {
"mapCase": false
}
}
},
- "ipConfiguration": {
- "$ref": "#/types/gcp:sql/DatabaseInstanceSettingsIpConfiguration:DatabaseInstanceSettingsIpConfiguration",
+ "ipConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/gcp:sql/getDatabaseInstanceSettingIpConfiguration:getDatabaseInstanceSettingIpConfiguration"
+ },
"language": {
"python": {
"mapCase": false
}
}
},
- "locationPreference": {
- "$ref": "#/types/gcp:sql/DatabaseInstanceSettingsLocationPreference:DatabaseInstanceSettingsLocationPreference",
+ "locationPreferences": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/gcp:sql/getDatabaseInstanceSettingLocationPreference:getDatabaseInstanceSettingLocationPreference"
+ },
"language": {
"python": {
"mapCase": false
}
}
},
- "maintenanceWindow": {
- "$ref": "#/types/gcp:sql/DatabaseInstanceSettingsMaintenanceWindow:DatabaseInstanceSettingsMaintenanceWindow",
+ "maintenanceWindows": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/gcp:sql/getDatabaseInstanceSettingMaintenanceWindow:getDatabaseInstanceSettingMaintenanceWindow"
+ },
"language": {
"python": {
"mapCase": false
@@ -36567,7 +38737,7 @@
},
"pricingPlan": {
"type": "string",
- "description": "Pricing plan for this instance, can only be `PER_USE`.\n",
+ "description": "Pricing plan for this instance.\n",
"language": {
"python": {
"mapCase": false
@@ -36576,8 +38746,7 @@
},
"replicationType": {
"type": "string",
- "description": "This property is only applicable to First Generation instances.\nFirst Generation instances are now deprecated, see [here](https://cloud.google.com/sql/docs/mysql/upgrade-2nd-gen)\nfor information on how to upgrade to Second Generation instances.\nReplication type for this instance, can be one of `ASYNCHRONOUS` or `SYNCHRONOUS`.\n",
- "deprecationMessage": "This property is only applicable to First Generation instances, and First Generation instances are now deprecated.",
+ "description": "This property is only applicable to First Generation instances.\nFirst Generation instances are now deprecated, see [here](https://cloud.google.com/sql/docs/mysql/upgrade-2nd-gen)\n",
"language": {
"python": {
"mapCase": false
@@ -36586,7 +38755,7 @@
},
"tier": {
"type": "string",
- "description": "The machine type to use. See [tiers](https://cloud.google.com/sql/docs/admin-api/v1beta4/tiers)\nfor more details and supported versions. Postgres supports only shared-core machine types such as `db-f1-micro`,\nand custom machine types such as `db-custom-2-13312`. See the [Custom Machine Type Documentation](https://cloud.google.com/compute/docs/instances/creating-instance-with-custom-machine-type#create) to learn about specifying custom machine types.\n",
+ "description": "The machine type to use.\n",
"language": {
"python": {
"mapCase": false
@@ -36616,30 +38785,35 @@
},
"type": "object",
"required": [
- "tier"
+ "activationPolicy",
+ "authorizedGaeApplications",
+ "availabilityType",
+ "backupConfigurations",
+ "crashSafeReplication",
+ "databaseFlags",
+ "diskAutoresize",
+ "diskSize",
+ "diskType",
+ "ipConfigurations",
+ "locationPreferences",
+ "maintenanceWindows",
+ "pricingPlan",
+ "replicationType",
+ "tier",
+ "userLabels",
+ "version"
],
"language": {
"nodejs": {
- "requiredOutputs": [
- "activationPolicy",
- "availabilityType",
- "backupConfiguration",
- "crashSafeReplication",
- "diskSize",
- "diskType",
- "ipConfiguration",
- "locationPreference",
- "tier",
- "version"
- ]
+ "requiredInputs": []
}
}
},
- "gcp:sql/DatabaseInstanceSettingsBackupConfiguration:DatabaseInstanceSettingsBackupConfiguration": {
+ "gcp:sql/getDatabaseInstanceSettingBackupConfiguration:getDatabaseInstanceSettingBackupConfiguration": {
"properties": {
"binaryLogEnabled": {
"type": "boolean",
- "description": "True if binary logging is enabled. If\n`settings.backup_configuration.enabled` is false, this must be as well.\nCannot be used with Postgres.\n",
+ "description": "True if binary logging is enabled.\n",
"language": {
"python": {
"mapCase": false
@@ -36665,7 +38839,7 @@
},
"startTime": {
"type": "string",
- "description": "`HH:MM` format time indicating when backup\nconfiguration starts.\n",
+ "description": "`HH:MM` format time indicating when backup configuration starts.\n",
"language": {
"python": {
"mapCase": false
@@ -36674,19 +38848,23 @@
}
},
"type": "object",
+ "required": [
+ "binaryLogEnabled",
+ "enabled",
+ "location",
+ "startTime"
+ ],
"language": {
"nodejs": {
- "requiredOutputs": [
- "startTime"
- ]
+ "requiredInputs": []
}
}
},
- "gcp:sql/DatabaseInstanceSettingsDatabaseFlag:DatabaseInstanceSettingsDatabaseFlag": {
+ "gcp:sql/getDatabaseInstanceSettingDatabaseFlag:getDatabaseInstanceSettingDatabaseFlag": {
"properties": {
"name": {
"type": "string",
- "description": "A name for this whitelist entry.\n",
+ "description": "The name of the instance.\n",
"language": {
"python": {
"mapCase": false
@@ -36695,7 +38873,7 @@
},
"value": {
"type": "string",
- "description": "A CIDR notation IPv4 or IPv6 address that is allowed to\naccess this instance. Must be set even if other two attributes are not for\nthe whitelist to become active.\n",
+ "description": "A CIDR notation IPv4 or IPv6 address that is allowed to access this instance.\n",
"language": {
"python": {
"mapCase": false
@@ -36707,14 +38885,19 @@
"required": [
"name",
"value"
- ]
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
},
- "gcp:sql/DatabaseInstanceSettingsIpConfiguration:DatabaseInstanceSettingsIpConfiguration": {
+ "gcp:sql/getDatabaseInstanceSettingIpConfiguration:getDatabaseInstanceSettingIpConfiguration": {
"properties": {
"authorizedNetworks": {
"type": "array",
"items": {
- "$ref": "#/types/gcp:sql/DatabaseInstanceSettingsIpConfigurationAuthorizedNetwork:DatabaseInstanceSettingsIpConfigurationAuthorizedNetwork"
+ "$ref": "#/types/gcp:sql/getDatabaseInstanceSettingIpConfigurationAuthorizedNetwork:getDatabaseInstanceSettingIpConfigurationAuthorizedNetwork"
},
"language": {
"python": {
@@ -36724,7 +38907,7 @@
},
"ipv4Enabled": {
"type": "boolean",
- "description": "Whether this Cloud SQL instance should be assigned\na public IPV4 address. Either `ipv4_enabled` must be enabled or a\n`private_network` must be configured.\n",
+ "description": "Whether this Cloud SQL instance should be assigned a public IPV4 address.\n",
"language": {
"python": {
"mapCase": false
@@ -36733,7 +38916,7 @@
},
"privateNetwork": {
"type": "string",
- "description": "The VPC network from which the Cloud SQL\ninstance is accessible for private IP. For example, projects/myProject/global/networks/default.\nSpecifying a network enables private IP.\nEither `ipv4_enabled` must be enabled or a `private_network` must be configured.\nThis setting can be updated, but it cannot be removed after it is set.\n",
+ "description": "The VPC network from which the Cloud SQL instance is accessible for private IP.\n",
"language": {
"python": {
"mapCase": false
@@ -36742,7 +38925,7 @@
},
"requireSsl": {
"type": "boolean",
- "description": "True if mysqld should default to `REQUIRE X509`\nfor users connecting over IP.\n",
+ "description": "True if mysqld default to `REQUIRE X509` for users connecting over IP.\n",
"language": {
"python": {
"mapCase": false
@@ -36750,9 +38933,20 @@
}
}
},
- "type": "object"
+ "type": "object",
+ "required": [
+ "authorizedNetworks",
+ "ipv4Enabled",
+ "privateNetwork",
+ "requireSsl"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
},
- "gcp:sql/DatabaseInstanceSettingsIpConfigurationAuthorizedNetwork:DatabaseInstanceSettingsIpConfigurationAuthorizedNetwork": {
+ "gcp:sql/getDatabaseInstanceSettingIpConfigurationAuthorizedNetwork:getDatabaseInstanceSettingIpConfigurationAuthorizedNetwork": {
"properties": {
"expirationTime": {
"type": "string",
@@ -36765,7 +38959,7 @@
},
"name": {
"type": "string",
- "description": "A name for this whitelist entry.\n",
+ "description": "The name of the instance.\n",
"language": {
"python": {
"mapCase": false
@@ -36774,7 +38968,7 @@
},
"value": {
"type": "string",
- "description": "A CIDR notation IPv4 or IPv6 address that is allowed to\naccess this instance. Must be set even if other two attributes are not for\nthe whitelist to become active.\n",
+ "description": "A CIDR notation IPv4 or IPv6 address that is allowed to access this instance.\n",
"language": {
"python": {
"mapCase": false
@@ -36784,14 +38978,21 @@
},
"type": "object",
"required": [
+ "expirationTime",
+ "name",
"value"
- ]
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
},
- "gcp:sql/DatabaseInstanceSettingsLocationPreference:DatabaseInstanceSettingsLocationPreference": {
+ "gcp:sql/getDatabaseInstanceSettingLocationPreference:getDatabaseInstanceSettingLocationPreference": {
"properties": {
"followGaeApplication": {
"type": "string",
- "description": "A GAE application whose zone to remain\nin. Must be in the same region as this instance.\n",
+ "description": "A GAE application whose zone to remain in.\n",
"language": {
"python": {
"mapCase": false
@@ -36800,7 +39001,7 @@
},
"zone": {
"type": "string",
- "description": "The preferred compute engine\n[zone](https://cloud.google.com/compute/docs/zones?hl=en).\n",
+ "description": "The preferred compute engine.\n",
"language": {
"python": {
"mapCase": false
@@ -36808,13 +39009,22 @@
}
}
},
- "type": "object"
+ "type": "object",
+ "required": [
+ "followGaeApplication",
+ "zone"
+ ],
+ "language": {
+ "nodejs": {
+ "requiredInputs": []
+ }
+ }
},
- "gcp:sql/DatabaseInstanceSettingsMaintenanceWindow:DatabaseInstanceSettingsMaintenanceWindow": {
+ "gcp:sql/getDatabaseInstanceSettingMaintenanceWindow:getDatabaseInstanceSettingMaintenanceWindow": {
"properties": {
"day": {
"type": "integer",
- "description": "Day of week (`1-7`), starting on Monday\n",
+ "description": "Day of week (`1-7`), starting on Monday.\n",
"language": {
"python": {
"mapCase": false
@@ -36823,7 +39033,7 @@
},
"hour": {
"type": "integer",
- "description": "Hour of day (`0-23`), ignored if `day` not set\n",
+ "description": "Hour of day (`0-23`), ignored if `day` not set.\n",
"language": {
"python": {
"mapCase": false
@@ -36832,57 +39042,7 @@
},
"updateTrack": {
"type": "string",
- "description": "Receive updates earlier (`canary`) or later\n(`stable`)\n",
- "language": {
- "python": {
- "mapCase": false
- }
- }
- }
- },
- "type": "object"
- },
- "gcp:sql/getCaCertsCert:getCaCertsCert": {
- "properties": {
- "cert": {
- "type": "string",
- "description": "The CA certificate used to connect to the SQL instance via SSL.\n",
- "language": {
- "python": {
- "mapCase": false
- }
- }
- },
- "commonName": {
- "type": "string",
- "description": "The CN valid for the CA cert.\n",
- "language": {
- "python": {
- "mapCase": false
- }
- }
- },
- "createTime": {
- "type": "string",
- "description": "Creation time of the CA cert.\n",
- "language": {
- "python": {
- "mapCase": false
- }
- }
- },
- "expirationTime": {
- "type": "string",
- "description": "Expiration time of the CA cert.\n",
- "language": {
- "python": {
- "mapCase": false
- }
- }
- },
- "sha1Fingerprint": {
- "type": "string",
- "description": "SHA1 fingerprint of the CA cert.\n",
+ "description": "Receive updates earlier (`canary`) or later (`stable`).\n",
"language": {
"python": {
"mapCase": false
@@ -36892,11 +39052,9 @@
},
"type": "object",
"required": [
- "cert",
- "commonName",
- "createTime",
- "expirationTime",
- "sha1Fingerprint"
+ "day",
+ "hour",
+ "updateTrack"
],
"language": {
"nodejs": {
@@ -37782,6 +39940,9 @@
"binaryAuthorizationCustomEndpoint": {
"type": "string"
},
+ "cloudAssetCustomEndpoint": {
+ "type": "string"
+ },
"cloudBillingCustomEndpoint": {
"type": "string"
},
@@ -42796,6 +44957,420 @@
"type": "object"
}
},
+ "gcp:cloudasset/folderFeed:FolderFeed": {
+ "description": "Describes a Cloud Asset Inventory feed used to to listen to asset updates.\n\n\nTo get more information about FolderFeed, see:\n\n* [API documentation](https://cloud.google.com/asset-inventory/docs/reference/rest/)\n* How-to Guides\n * [Official Documentation](https://cloud.google.com/asset-inventory/docs)\n\n{{% examples %}}\n## Example Usage\n{{% /examples %}}",
+ "properties": {
+ "assetNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of the full names of the assets to receive updates. You must specify either or both of\nassetNames and assetTypes. Only asset updates matching specified assetNames and assetTypes are\nexported to the feed. For example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1.\nSee https://cloud.google.com/apis/design/resourceNames#fullResourceName for more info.\n"
+ },
+ "assetTypes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of types of the assets to receive updates. You must specify either or both of assetNames\nand assetTypes. Only asset updates matching specified assetNames and assetTypes are exported to\nthe feed. For example: \"compute.googleapis.com/Disk\"\nSee https://cloud.google.com/asset-inventory/docs/supported-asset-types for a list of all\nsupported asset types.\n"
+ },
+ "billingProject": {
+ "type": "string",
+ "description": "The project whose identity will be used when sending messages to the\ndestination pubsub topic. It also specifies the project for API\nenablement check, quota, and billing.\n"
+ },
+ "contentType": {
+ "type": "string",
+ "description": "Asset content type. If not specified, no content but the asset name and type will be returned.\n"
+ },
+ "feedId": {
+ "type": "string",
+ "description": "This is the client-assigned asset feed identifier and it needs to be unique under a specific parent.\n"
+ },
+ "feedOutputConfig": {
+ "$ref": "#/types/gcp:cloudasset/FolderFeedFeedOutputConfig:FolderFeedFeedOutputConfig",
+ "description": "Output configuration for asset feed destination. Structure is documented below.\n"
+ },
+ "folder": {
+ "type": "string",
+ "description": "The folder this feed should be created in.\n"
+ },
+ "folderId": {
+ "type": "string",
+ "description": "The ID of the folder where this feed has been created. Both [FOLDER_NUMBER] and folders/[FOLDER_NUMBER] are accepted.\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "The format will be folders/{folder_number}/feeds/{client-assigned_feed_identifier}.\n"
+ }
+ },
+ "required": [
+ "billingProject",
+ "feedId",
+ "feedOutputConfig",
+ "folder",
+ "folderId",
+ "name"
+ ],
+ "inputProperties": {
+ "assetNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of the full names of the assets to receive updates. You must specify either or both of\nassetNames and assetTypes. Only asset updates matching specified assetNames and assetTypes are\nexported to the feed. For example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1.\nSee https://cloud.google.com/apis/design/resourceNames#fullResourceName for more info.\n"
+ },
+ "assetTypes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of types of the assets to receive updates. You must specify either or both of assetNames\nand assetTypes. Only asset updates matching specified assetNames and assetTypes are exported to\nthe feed. For example: \"compute.googleapis.com/Disk\"\nSee https://cloud.google.com/asset-inventory/docs/supported-asset-types for a list of all\nsupported asset types.\n"
+ },
+ "billingProject": {
+ "type": "string",
+ "description": "The project whose identity will be used when sending messages to the\ndestination pubsub topic. It also specifies the project for API\nenablement check, quota, and billing.\n"
+ },
+ "contentType": {
+ "type": "string",
+ "description": "Asset content type. If not specified, no content but the asset name and type will be returned.\n"
+ },
+ "feedId": {
+ "type": "string",
+ "description": "This is the client-assigned asset feed identifier and it needs to be unique under a specific parent.\n"
+ },
+ "feedOutputConfig": {
+ "$ref": "#/types/gcp:cloudasset/FolderFeedFeedOutputConfig:FolderFeedFeedOutputConfig",
+ "description": "Output configuration for asset feed destination. Structure is documented below.\n"
+ },
+ "folder": {
+ "type": "string",
+ "description": "The folder this feed should be created in.\n"
+ }
+ },
+ "requiredInputs": [
+ "billingProject",
+ "feedId",
+ "feedOutputConfig",
+ "folder"
+ ],
+ "stateInputs": {
+ "description": "Input properties used for looking up and filtering FolderFeed resources.\n",
+ "properties": {
+ "assetNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of the full names of the assets to receive updates. You must specify either or both of\nassetNames and assetTypes. Only asset updates matching specified assetNames and assetTypes are\nexported to the feed. For example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1.\nSee https://cloud.google.com/apis/design/resourceNames#fullResourceName for more info.\n"
+ },
+ "assetTypes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of types of the assets to receive updates. You must specify either or both of assetNames\nand assetTypes. Only asset updates matching specified assetNames and assetTypes are exported to\nthe feed. For example: \"compute.googleapis.com/Disk\"\nSee https://cloud.google.com/asset-inventory/docs/supported-asset-types for a list of all\nsupported asset types.\n"
+ },
+ "billingProject": {
+ "type": "string",
+ "description": "The project whose identity will be used when sending messages to the\ndestination pubsub topic. It also specifies the project for API\nenablement check, quota, and billing.\n"
+ },
+ "contentType": {
+ "type": "string",
+ "description": "Asset content type. If not specified, no content but the asset name and type will be returned.\n"
+ },
+ "feedId": {
+ "type": "string",
+ "description": "This is the client-assigned asset feed identifier and it needs to be unique under a specific parent.\n"
+ },
+ "feedOutputConfig": {
+ "$ref": "#/types/gcp:cloudasset/FolderFeedFeedOutputConfig:FolderFeedFeedOutputConfig",
+ "description": "Output configuration for asset feed destination. Structure is documented below.\n"
+ },
+ "folder": {
+ "type": "string",
+ "description": "The folder this feed should be created in.\n"
+ },
+ "folderId": {
+ "type": "string",
+ "description": "The ID of the folder where this feed has been created. Both [FOLDER_NUMBER] and folders/[FOLDER_NUMBER] are accepted.\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "The format will be folders/{folder_number}/feeds/{client-assigned_feed_identifier}.\n"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "gcp:cloudasset/organizationFeed:OrganizationFeed": {
+ "description": "Describes a Cloud Asset Inventory feed used to to listen to asset updates.\n\n\nTo get more information about OrganizationFeed, see:\n\n* [API documentation](https://cloud.google.com/asset-inventory/docs/reference/rest/)\n* How-to Guides\n * [Official Documentation](https://cloud.google.com/asset-inventory/docs)\n\n{{% examples %}}\n## Example Usage\n{{% /examples %}}",
+ "properties": {
+ "assetNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of the full names of the assets to receive updates. You must specify either or both of\nassetNames and assetTypes. Only asset updates matching specified assetNames and assetTypes are\nexported to the feed. For example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1.\nSee https://cloud.google.com/apis/design/resourceNames#fullResourceName for more info.\n"
+ },
+ "assetTypes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of types of the assets to receive updates. You must specify either or both of assetNames\nand assetTypes. Only asset updates matching specified assetNames and assetTypes are exported to\nthe feed. For example: \"compute.googleapis.com/Disk\"\nSee https://cloud.google.com/asset-inventory/docs/supported-asset-types for a list of all\nsupported asset types.\n"
+ },
+ "billingProject": {
+ "type": "string",
+ "description": "The project whose identity will be used when sending messages to the\ndestination pubsub topic. It also specifies the project for API\nenablement check, quota, and billing.\n"
+ },
+ "contentType": {
+ "type": "string",
+ "description": "Asset content type. If not specified, no content but the asset name and type will be returned.\n"
+ },
+ "feedId": {
+ "type": "string",
+ "description": "This is the client-assigned asset feed identifier and it needs to be unique under a specific parent.\n"
+ },
+ "feedOutputConfig": {
+ "$ref": "#/types/gcp:cloudasset/OrganizationFeedFeedOutputConfig:OrganizationFeedFeedOutputConfig",
+ "description": "Output configuration for asset feed destination. Structure is documented below.\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "The format will be organizations/{organization_number}/feeds/{client-assigned_feed_identifier}.\n"
+ },
+ "orgId": {
+ "type": "string",
+ "description": "The organization this feed should be created in.\n"
+ }
+ },
+ "required": [
+ "billingProject",
+ "feedId",
+ "feedOutputConfig",
+ "name",
+ "orgId"
+ ],
+ "inputProperties": {
+ "assetNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of the full names of the assets to receive updates. You must specify either or both of\nassetNames and assetTypes. Only asset updates matching specified assetNames and assetTypes are\nexported to the feed. For example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1.\nSee https://cloud.google.com/apis/design/resourceNames#fullResourceName for more info.\n"
+ },
+ "assetTypes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of types of the assets to receive updates. You must specify either or both of assetNames\nand assetTypes. Only asset updates matching specified assetNames and assetTypes are exported to\nthe feed. For example: \"compute.googleapis.com/Disk\"\nSee https://cloud.google.com/asset-inventory/docs/supported-asset-types for a list of all\nsupported asset types.\n"
+ },
+ "billingProject": {
+ "type": "string",
+ "description": "The project whose identity will be used when sending messages to the\ndestination pubsub topic. It also specifies the project for API\nenablement check, quota, and billing.\n"
+ },
+ "contentType": {
+ "type": "string",
+ "description": "Asset content type. If not specified, no content but the asset name and type will be returned.\n"
+ },
+ "feedId": {
+ "type": "string",
+ "description": "This is the client-assigned asset feed identifier and it needs to be unique under a specific parent.\n"
+ },
+ "feedOutputConfig": {
+ "$ref": "#/types/gcp:cloudasset/OrganizationFeedFeedOutputConfig:OrganizationFeedFeedOutputConfig",
+ "description": "Output configuration for asset feed destination. Structure is documented below.\n"
+ },
+ "orgId": {
+ "type": "string",
+ "description": "The organization this feed should be created in.\n"
+ }
+ },
+ "requiredInputs": [
+ "billingProject",
+ "feedId",
+ "feedOutputConfig",
+ "orgId"
+ ],
+ "stateInputs": {
+ "description": "Input properties used for looking up and filtering OrganizationFeed resources.\n",
+ "properties": {
+ "assetNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of the full names of the assets to receive updates. You must specify either or both of\nassetNames and assetTypes. Only asset updates matching specified assetNames and assetTypes are\nexported to the feed. For example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1.\nSee https://cloud.google.com/apis/design/resourceNames#fullResourceName for more info.\n"
+ },
+ "assetTypes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of types of the assets to receive updates. You must specify either or both of assetNames\nand assetTypes. Only asset updates matching specified assetNames and assetTypes are exported to\nthe feed. For example: \"compute.googleapis.com/Disk\"\nSee https://cloud.google.com/asset-inventory/docs/supported-asset-types for a list of all\nsupported asset types.\n"
+ },
+ "billingProject": {
+ "type": "string",
+ "description": "The project whose identity will be used when sending messages to the\ndestination pubsub topic. It also specifies the project for API\nenablement check, quota, and billing.\n"
+ },
+ "contentType": {
+ "type": "string",
+ "description": "Asset content type. If not specified, no content but the asset name and type will be returned.\n"
+ },
+ "feedId": {
+ "type": "string",
+ "description": "This is the client-assigned asset feed identifier and it needs to be unique under a specific parent.\n"
+ },
+ "feedOutputConfig": {
+ "$ref": "#/types/gcp:cloudasset/OrganizationFeedFeedOutputConfig:OrganizationFeedFeedOutputConfig",
+ "description": "Output configuration for asset feed destination. Structure is documented below.\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "The format will be organizations/{organization_number}/feeds/{client-assigned_feed_identifier}.\n"
+ },
+ "orgId": {
+ "type": "string",
+ "description": "The organization this feed should be created in.\n"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "gcp:cloudasset/projectFeed:ProjectFeed": {
+ "description": "Describes a Cloud Asset Inventory feed used to to listen to asset updates.\n\n\nTo get more information about ProjectFeed, see:\n\n* [API documentation](https://cloud.google.com/asset-inventory/docs/reference/rest/)\n* How-to Guides\n * [Official Documentation](https://cloud.google.com/asset-inventory/docs)\n\n{{% examples %}}\n## Example Usage\n{{% /examples %}}",
+ "properties": {
+ "assetNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of the full names of the assets to receive updates. You must specify either or both of\nassetNames and assetTypes. Only asset updates matching specified assetNames and assetTypes are\nexported to the feed. For example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1.\nSee https://cloud.google.com/apis/design/resourceNames#fullResourceName for more info.\n"
+ },
+ "assetTypes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of types of the assets to receive updates. You must specify either or both of assetNames\nand assetTypes. Only asset updates matching specified assetNames and assetTypes are exported to\nthe feed. For example: \"compute.googleapis.com/Disk\"\nSee https://cloud.google.com/asset-inventory/docs/supported-asset-types for a list of all\nsupported asset types.\n"
+ },
+ "billingProject": {
+ "type": "string",
+ "description": "The project whose identity will be used when sending messages to the\ndestination pubsub topic. It also specifies the project for API\nenablement check, quota, and billing. If not specified, the resource's\nproject will be used.\n"
+ },
+ "contentType": {
+ "type": "string",
+ "description": "Asset content type. If not specified, no content but the asset name and type will be returned.\n"
+ },
+ "feedId": {
+ "type": "string",
+ "description": "This is the client-assigned asset feed identifier and it needs to be unique under a specific parent.\n"
+ },
+ "feedOutputConfig": {
+ "$ref": "#/types/gcp:cloudasset/ProjectFeedFeedOutputConfig:ProjectFeedFeedOutputConfig",
+ "description": "Output configuration for asset feed destination. Structure is documented below.\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "The format will be projects/{projectNumber}/feeds/{client-assigned_feed_identifier}.\n"
+ },
+ "project": {
+ "type": "string",
+ "description": "The ID of the project in which the resource belongs.\nIf it is not provided, the provider project is used.\n"
+ }
+ },
+ "required": [
+ "feedId",
+ "feedOutputConfig",
+ "name",
+ "project"
+ ],
+ "inputProperties": {
+ "assetNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of the full names of the assets to receive updates. You must specify either or both of\nassetNames and assetTypes. Only asset updates matching specified assetNames and assetTypes are\nexported to the feed. For example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1.\nSee https://cloud.google.com/apis/design/resourceNames#fullResourceName for more info.\n"
+ },
+ "assetTypes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of types of the assets to receive updates. You must specify either or both of assetNames\nand assetTypes. Only asset updates matching specified assetNames and assetTypes are exported to\nthe feed. For example: \"compute.googleapis.com/Disk\"\nSee https://cloud.google.com/asset-inventory/docs/supported-asset-types for a list of all\nsupported asset types.\n"
+ },
+ "billingProject": {
+ "type": "string",
+ "description": "The project whose identity will be used when sending messages to the\ndestination pubsub topic. It also specifies the project for API\nenablement check, quota, and billing. If not specified, the resource's\nproject will be used.\n"
+ },
+ "contentType": {
+ "type": "string",
+ "description": "Asset content type. If not specified, no content but the asset name and type will be returned.\n"
+ },
+ "feedId": {
+ "type": "string",
+ "description": "This is the client-assigned asset feed identifier and it needs to be unique under a specific parent.\n"
+ },
+ "feedOutputConfig": {
+ "$ref": "#/types/gcp:cloudasset/ProjectFeedFeedOutputConfig:ProjectFeedFeedOutputConfig",
+ "description": "Output configuration for asset feed destination. Structure is documented below.\n"
+ },
+ "project": {
+ "type": "string",
+ "description": "The ID of the project in which the resource belongs.\nIf it is not provided, the provider project is used.\n"
+ }
+ },
+ "requiredInputs": [
+ "feedId",
+ "feedOutputConfig"
+ ],
+ "stateInputs": {
+ "description": "Input properties used for looking up and filtering ProjectFeed resources.\n",
+ "properties": {
+ "assetNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of the full names of the assets to receive updates. You must specify either or both of\nassetNames and assetTypes. Only asset updates matching specified assetNames and assetTypes are\nexported to the feed. For example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1.\nSee https://cloud.google.com/apis/design/resourceNames#fullResourceName for more info.\n"
+ },
+ "assetTypes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of types of the assets to receive updates. You must specify either or both of assetNames\nand assetTypes. Only asset updates matching specified assetNames and assetTypes are exported to\nthe feed. For example: \"compute.googleapis.com/Disk\"\nSee https://cloud.google.com/asset-inventory/docs/supported-asset-types for a list of all\nsupported asset types.\n"
+ },
+ "billingProject": {
+ "type": "string",
+ "description": "The project whose identity will be used when sending messages to the\ndestination pubsub topic. It also specifies the project for API\nenablement check, quota, and billing. If not specified, the resource's\nproject will be used.\n"
+ },
+ "contentType": {
+ "type": "string",
+ "description": "Asset content type. If not specified, no content but the asset name and type will be returned.\n"
+ },
+ "feedId": {
+ "type": "string",
+ "description": "This is the client-assigned asset feed identifier and it needs to be unique under a specific parent.\n"
+ },
+ "feedOutputConfig": {
+ "$ref": "#/types/gcp:cloudasset/ProjectFeedFeedOutputConfig:ProjectFeedFeedOutputConfig",
+ "description": "Output configuration for asset feed destination. Structure is documented below.\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "The format will be projects/{projectNumber}/feeds/{client-assigned_feed_identifier}.\n"
+ },
+ "project": {
+ "type": "string",
+ "description": "The ID of the project in which the resource belongs.\nIf it is not provided, the provider project is used.\n"
+ }
+ },
+ "type": "object"
+ }
+ },
"gcp:cloudbuild/trigger:Trigger": {
"description": "Configuration for an automated build in response to source repository changes.\n\n\nTo get more information about Trigger, see:\n\n* [API documentation](https://cloud.google.com/cloud-build/docs/api/reference/rest/)\n* How-to Guides\n * [Automating builds using build triggers](https://cloud.google.com/cloud-build/docs/running-builds/automate-builds)\n\n{{% examples %}}\n## Example Usage\n{{% /examples %}}",
"properties": {
@@ -43049,7 +45624,7 @@
},
"runtime": {
"type": "string",
- "description": "The runtime in which the function is going to run.\nEg. `\"nodejs8\"`, `\"nodejs10\"`, `\"python37\"`, `\"go111\"`.\n"
+ "description": "The runtime in which the function is going to run.\nEg. `\"nodejs8\"`, `\"nodejs10\"`, `\"python37\"`, `\"go111\"`, `\"go113\"`.\n"
},
"serviceAccountEmail": {
"type": "string",
@@ -43151,7 +45726,7 @@
},
"runtime": {
"type": "string",
- "description": "The runtime in which the function is going to run.\nEg. `\"nodejs8\"`, `\"nodejs10\"`, `\"python37\"`, `\"go111\"`.\n"
+ "description": "The runtime in which the function is going to run.\nEg. `\"nodejs8\"`, `\"nodejs10\"`, `\"python37\"`, `\"go111\"`, `\"go113\"`.\n"
},
"serviceAccountEmail": {
"type": "string",
@@ -43248,7 +45823,7 @@
},
"runtime": {
"type": "string",
- "description": "The runtime in which the function is going to run.\nEg. `\"nodejs8\"`, `\"nodejs10\"`, `\"python37\"`, `\"go111\"`.\n"
+ "description": "The runtime in which the function is going to run.\nEg. `\"nodejs8\"`, `\"nodejs10\"`, `\"python37\"`, `\"go111\"`, `\"go113\"`.\n"
},
"serviceAccountEmail": {
"type": "string",
@@ -45424,7 +47999,7 @@
},
"healthChecks": {
"type": "string",
- "description": "The set of URLs to the HttpHealthCheck or HttpsHealthCheck resource\nfor health checking this BackendService. Currently at most one health\ncheck can be specified, and a health check is required.\nFor internal load balancing, a URL to a HealthCheck resource must be specified instead.\n"
+ "description": "The set of URLs to the HttpHealthCheck or HttpsHealthCheck resource\nfor health checking this BackendService. Currently at most one health\ncheck can be specified.\nA health check must be specified unless the backend service uses an internet NEG as a backend.\nFor internal load balancing, a URL to a HealthCheck resource must be specified instead.\n"
},
"iap": {
"$ref": "#/types/gcp:compute/BackendServiceIap:BackendServiceIap",
@@ -45483,7 +48058,6 @@
"cdnPolicy",
"creationTimestamp",
"fingerprint",
- "healthChecks",
"logConfig",
"name",
"portName",
@@ -45538,7 +48112,7 @@
},
"healthChecks": {
"type": "string",
- "description": "The set of URLs to the HttpHealthCheck or HttpsHealthCheck resource\nfor health checking this BackendService. Currently at most one health\ncheck can be specified, and a health check is required.\nFor internal load balancing, a URL to a HealthCheck resource must be specified instead.\n"
+ "description": "The set of URLs to the HttpHealthCheck or HttpsHealthCheck resource\nfor health checking this BackendService. Currently at most one health\ncheck can be specified.\nA health check must be specified unless the backend service uses an internet NEG as a backend.\nFor internal load balancing, a URL to a HealthCheck resource must be specified instead.\n"
},
"iap": {
"$ref": "#/types/gcp:compute/BackendServiceIap:BackendServiceIap",
@@ -45589,9 +48163,6 @@
"description": "How many seconds to wait for the backend before considering it a\nfailed request. Default is 30 seconds. Valid range is [1, 86400].\n"
}
},
- "requiredInputs": [
- "healthChecks"
- ],
"stateInputs": {
"description": "Input properties used for looking up and filtering BackendService resources.\n",
"properties": {
@@ -45647,7 +48218,7 @@
},
"healthChecks": {
"type": "string",
- "description": "The set of URLs to the HttpHealthCheck or HttpsHealthCheck resource\nfor health checking this BackendService. Currently at most one health\ncheck can be specified, and a health check is required.\nFor internal load balancing, a URL to a HealthCheck resource must be specified instead.\n"
+ "description": "The set of URLs to the HttpHealthCheck or HttpsHealthCheck resource\nfor health checking this BackendService. Currently at most one health\ncheck can be specified.\nA health check must be specified unless the backend service uses an internet NEG as a backend.\nFor internal load balancing, a URL to a HealthCheck resource must be specified instead.\n"
},
"iap": {
"$ref": "#/types/gcp:compute/BackendServiceIap:BackendServiceIap",
@@ -57781,6 +60352,10 @@
"type": "integer",
"description": "The default maximum number of pods\nper node in this cluster. This doesn't work on \"routes-based\" clusters, clusters\nthat don't have IP Aliasing enabled. See the [official documentation](https://cloud.google.com/kubernetes-engine/docs/how-to/flexible-pod-cidr)\nfor more information.\n"
},
+ "defaultSnatStatus": {
+ "$ref": "#/types/gcp:container/ClusterDefaultSnatStatus:ClusterDefaultSnatStatus",
+ "description": ")\n[GKE SNAT](https://cloud.google.com/kubernetes-engine/docs/how-to/ip-masquerade-agent#how_ipmasq_works) DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster, [API doc](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#networkconfig).\n"
+ },
"description": {
"type": "string",
"description": "Description of the cluster.\n"
@@ -57965,6 +60540,7 @@
"clusterTelemetry",
"databaseEncryption",
"defaultMaxPodsPerNode",
+ "defaultSnatStatus",
"endpoint",
"instanceGroupUrls",
"labelFingerprint",
@@ -58017,6 +60593,10 @@
"type": "integer",
"description": "The default maximum number of pods\nper node in this cluster. This doesn't work on \"routes-based\" clusters, clusters\nthat don't have IP Aliasing enabled. See the [official documentation](https://cloud.google.com/kubernetes-engine/docs/how-to/flexible-pod-cidr)\nfor more information.\n"
},
+ "defaultSnatStatus": {
+ "$ref": "#/types/gcp:container/ClusterDefaultSnatStatus:ClusterDefaultSnatStatus",
+ "description": ")\n[GKE SNAT](https://cloud.google.com/kubernetes-engine/docs/how-to/ip-masquerade-agent#how_ipmasq_works) DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster, [API doc](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#networkconfig).\n"
+ },
"description": {
"type": "string",
"description": "Description of the cluster.\n"
@@ -58194,6 +60774,10 @@
"type": "integer",
"description": "The default maximum number of pods\nper node in this cluster. This doesn't work on \"routes-based\" clusters, clusters\nthat don't have IP Aliasing enabled. See the [official documentation](https://cloud.google.com/kubernetes-engine/docs/how-to/flexible-pod-cidr)\nfor more information.\n"
},
+ "defaultSnatStatus": {
+ "$ref": "#/types/gcp:container/ClusterDefaultSnatStatus:ClusterDefaultSnatStatus",
+ "description": ")\n[GKE SNAT](https://cloud.google.com/kubernetes-engine/docs/how-to/ip-masquerade-agent#how_ipmasq_works) DefaultSnatStatus contains the desired state of whether default sNAT should be disabled on the cluster, [API doc](https://cloud.google.com/kubernetes-engine/docs/reference/rest/v1beta1/projects.locations.clusters#networkconfig).\n"
+ },
"description": {
"type": "string",
"description": "Description of the cluster.\n"
@@ -71356,6 +73940,187 @@
"type": "object"
}
},
+ "gcp:monitoring/metricDescriptor:MetricDescriptor": {
+ "description": "Defines a metric type and its schema. Once a metric descriptor is created, deleting or altering it stops data collection and makes the metric type's existing data unusable.\n\n\nTo get more information about MetricDescriptor, see:\n\n* [API documentation](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors)\n* How-to Guides\n * [Official Documentation](https://cloud.google.com/monitoring/custom-metrics/)\n\n{{% examples %}}\n## Example Usage\n{{% /examples %}}",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "A human-readable description for the label.\n"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "A concise name for the metric, which can be displayed in user interfaces. Use sentence case without an ending period, for example \"Request count\".\n"
+ },
+ "labels": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/gcp:monitoring/MetricDescriptorLabel:MetricDescriptorLabel"
+ },
+ "description": "The set of labels that can be used to describe a specific instance of this metric type. In order to delete a label, the entire resource must be deleted, then created with the desired labels. Structure is documented below.\n"
+ },
+ "launchStage": {
+ "type": "string",
+ "description": "The launch stage of the metric definition.\n"
+ },
+ "metadata": {
+ "$ref": "#/types/gcp:monitoring/MetricDescriptorMetadata:MetricDescriptorMetadata",
+ "description": "Metadata which can be used to guide usage of the metric. Structure is documented below.\n"
+ },
+ "metricKind": {
+ "type": "string",
+ "description": "Whether the metric records instantaneous values, changes to a value, etc. Some combinations of metricKind and valueType might not be supported.\n"
+ },
+ "monitoredResourceTypes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "If present, then a time series, which is identified partially by a metric type and a MonitoredResourceDescriptor, that\nis associated with this metric type can only be associated with one of the monitored resource types listed here. This\nfield allows time series to be associated with the intersection of this metric type and the monitored resource types in\nthis list.\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "The resource name of the metric descriptor.\n"
+ },
+ "project": {
+ "type": "string",
+ "description": "The ID of the project in which the resource belongs.\nIf it is not provided, the provider project is used.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The metric type, including its DNS name prefix. The type is not URL-encoded. All service defined metrics must be prefixed with the service name, in the format of {service name}/{relative metric name}, such as cloudsql.googleapis.com/database/cpu/utilization. The relative metric name must have only upper and lower-case letters, digits, '/' and underscores '_' are allowed. Additionally, the maximum number of characters allowed for the relative_metric_name is 100. All user-defined metric types have the DNS name custom.googleapis.com, external.googleapis.com, or logging.googleapis.com/user/.\n"
+ },
+ "unit": {
+ "type": "string",
+ "description": "The units in which the metric value is reported. It is only applicable if the\nvalueType is INT64, DOUBLE, or DISTRIBUTION. The unit defines the representation of\nthe stored metric values.\nDifferent systems may scale the values to be more easily displayed (so a value of\n0.02KBy might be displayed as 20By, and a value of 3523KBy might be displayed as\n3.5MBy). However, if the unit is KBy, then the value of the metric is always in\nthousands of bytes, no matter how it may be displayed.\nIf you want a custom metric to record the exact number of CPU-seconds used by a job,\nyou can create an INT64 CUMULATIVE metric whose unit is s{CPU} (or equivalently\n1s{CPU} or just s). If the job uses 12,005 CPU-seconds, then the value is written as\n12005.\nAlternatively, if you want a custom metric to record data in a more granular way, you\ncan create a DOUBLE CUMULATIVE metric whose unit is ks{CPU}, and then write the value\n12.005 (which is 12005/1000), or use Kis{CPU} and write 11.723 (which is 12005/1024).\nThe supported units are a subset of The Unified Code for Units of Measure standard.\nMore info can be found in the API documentation\n(https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors).\n"
+ },
+ "valueType": {
+ "type": "string",
+ "description": "The type of data that can be assigned to the label.\n"
+ }
+ },
+ "required": [
+ "description",
+ "displayName",
+ "metricKind",
+ "monitoredResourceTypes",
+ "name",
+ "project",
+ "type",
+ "valueType"
+ ],
+ "inputProperties": {
+ "description": {
+ "type": "string",
+ "description": "A human-readable description for the label.\n"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "A concise name for the metric, which can be displayed in user interfaces. Use sentence case without an ending period, for example \"Request count\".\n"
+ },
+ "labels": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/gcp:monitoring/MetricDescriptorLabel:MetricDescriptorLabel"
+ },
+ "description": "The set of labels that can be used to describe a specific instance of this metric type. In order to delete a label, the entire resource must be deleted, then created with the desired labels. Structure is documented below.\n"
+ },
+ "launchStage": {
+ "type": "string",
+ "description": "The launch stage of the metric definition.\n"
+ },
+ "metadata": {
+ "$ref": "#/types/gcp:monitoring/MetricDescriptorMetadata:MetricDescriptorMetadata",
+ "description": "Metadata which can be used to guide usage of the metric. Structure is documented below.\n"
+ },
+ "metricKind": {
+ "type": "string",
+ "description": "Whether the metric records instantaneous values, changes to a value, etc. Some combinations of metricKind and valueType might not be supported.\n"
+ },
+ "project": {
+ "type": "string",
+ "description": "The ID of the project in which the resource belongs.\nIf it is not provided, the provider project is used.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The metric type, including its DNS name prefix. The type is not URL-encoded. All service defined metrics must be prefixed with the service name, in the format of {service name}/{relative metric name}, such as cloudsql.googleapis.com/database/cpu/utilization. The relative metric name must have only upper and lower-case letters, digits, '/' and underscores '_' are allowed. Additionally, the maximum number of characters allowed for the relative_metric_name is 100. All user-defined metric types have the DNS name custom.googleapis.com, external.googleapis.com, or logging.googleapis.com/user/.\n"
+ },
+ "unit": {
+ "type": "string",
+ "description": "The units in which the metric value is reported. It is only applicable if the\nvalueType is INT64, DOUBLE, or DISTRIBUTION. The unit defines the representation of\nthe stored metric values.\nDifferent systems may scale the values to be more easily displayed (so a value of\n0.02KBy might be displayed as 20By, and a value of 3523KBy might be displayed as\n3.5MBy). However, if the unit is KBy, then the value of the metric is always in\nthousands of bytes, no matter how it may be displayed.\nIf you want a custom metric to record the exact number of CPU-seconds used by a job,\nyou can create an INT64 CUMULATIVE metric whose unit is s{CPU} (or equivalently\n1s{CPU} or just s). If the job uses 12,005 CPU-seconds, then the value is written as\n12005.\nAlternatively, if you want a custom metric to record data in a more granular way, you\ncan create a DOUBLE CUMULATIVE metric whose unit is ks{CPU}, and then write the value\n12.005 (which is 12005/1000), or use Kis{CPU} and write 11.723 (which is 12005/1024).\nThe supported units are a subset of The Unified Code for Units of Measure standard.\nMore info can be found in the API documentation\n(https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors).\n"
+ },
+ "valueType": {
+ "type": "string",
+ "description": "The type of data that can be assigned to the label.\n"
+ }
+ },
+ "requiredInputs": [
+ "description",
+ "displayName",
+ "metricKind",
+ "type",
+ "valueType"
+ ],
+ "stateInputs": {
+ "description": "Input properties used for looking up and filtering MetricDescriptor resources.\n",
+ "properties": {
+ "description": {
+ "type": "string",
+ "description": "A human-readable description for the label.\n"
+ },
+ "displayName": {
+ "type": "string",
+ "description": "A concise name for the metric, which can be displayed in user interfaces. Use sentence case without an ending period, for example \"Request count\".\n"
+ },
+ "labels": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/gcp:monitoring/MetricDescriptorLabel:MetricDescriptorLabel"
+ },
+ "description": "The set of labels that can be used to describe a specific instance of this metric type. In order to delete a label, the entire resource must be deleted, then created with the desired labels. Structure is documented below.\n"
+ },
+ "launchStage": {
+ "type": "string",
+ "description": "The launch stage of the metric definition.\n"
+ },
+ "metadata": {
+ "$ref": "#/types/gcp:monitoring/MetricDescriptorMetadata:MetricDescriptorMetadata",
+ "description": "Metadata which can be used to guide usage of the metric. Structure is documented below.\n"
+ },
+ "metricKind": {
+ "type": "string",
+ "description": "Whether the metric records instantaneous values, changes to a value, etc. Some combinations of metricKind and valueType might not be supported.\n"
+ },
+ "monitoredResourceTypes": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "If present, then a time series, which is identified partially by a metric type and a MonitoredResourceDescriptor, that\nis associated with this metric type can only be associated with one of the monitored resource types listed here. This\nfield allows time series to be associated with the intersection of this metric type and the monitored resource types in\nthis list.\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "The resource name of the metric descriptor.\n"
+ },
+ "project": {
+ "type": "string",
+ "description": "The ID of the project in which the resource belongs.\nIf it is not provided, the provider project is used.\n"
+ },
+ "type": {
+ "type": "string",
+ "description": "The metric type, including its DNS name prefix. The type is not URL-encoded. All service defined metrics must be prefixed with the service name, in the format of {service name}/{relative metric name}, such as cloudsql.googleapis.com/database/cpu/utilization. The relative metric name must have only upper and lower-case letters, digits, '/' and underscores '_' are allowed. Additionally, the maximum number of characters allowed for the relative_metric_name is 100. All user-defined metric types have the DNS name custom.googleapis.com, external.googleapis.com, or logging.googleapis.com/user/.\n"
+ },
+ "unit": {
+ "type": "string",
+ "description": "The units in which the metric value is reported. It is only applicable if the\nvalueType is INT64, DOUBLE, or DISTRIBUTION. The unit defines the representation of\nthe stored metric values.\nDifferent systems may scale the values to be more easily displayed (so a value of\n0.02KBy might be displayed as 20By, and a value of 3523KBy might be displayed as\n3.5MBy). However, if the unit is KBy, then the value of the metric is always in\nthousands of bytes, no matter how it may be displayed.\nIf you want a custom metric to record the exact number of CPU-seconds used by a job,\nyou can create an INT64 CUMULATIVE metric whose unit is s{CPU} (or equivalently\n1s{CPU} or just s). If the job uses 12,005 CPU-seconds, then the value is written as\n12005.\nAlternatively, if you want a custom metric to record data in a more granular way, you\ncan create a DOUBLE CUMULATIVE metric whose unit is ks{CPU}, and then write the value\n12.005 (which is 12005/1000), or use Kis{CPU} and write 11.723 (which is 12005/1024).\nThe supported units are a subset of The Unified Code for Units of Measure standard.\nMore info can be found in the API documentation\n(https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors).\n"
+ },
+ "valueType": {
+ "type": "string",
+ "description": "The type of data that can be assigned to the label.\n"
+ }
+ },
+ "type": "object"
+ }
+ },
"gcp:monitoring/notificationChannel:NotificationChannel": {
"description": "A NotificationChannel is a medium through which an alert is delivered\nwhen a policy violation is detected. Examples of channels include email, SMS,\nand third-party messaging applications. Fields containing sensitive information\nlike authentication tokens or contact info are only partially populated on retrieval.\n\nNotification Channels are designed to be flexible and are made up of a supported `type`\nand labels to configure that channel. Each `type` has specific labels that need to be\npresent for that channel to be correctly configured. The labels that are required to be\npresent for one channel `type` are often different than those required for another.\nDue to these loose constraints it's often best to set up a channel through the UI\nand import it to the provider when setting up a brand new channel type to determine which\nlabels are required.\n\nA list of supported channels per project the `list` endpoint can be\naccessed programmatically or through the api explorer at https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.notificationChannelDescriptors/list .\nThis provides the channel type and all of the required labels that must be passed.\n\n\nTo get more information about NotificationChannel, see:\n\n* [API documentation](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.notificationChannels)\n* How-to Guides\n * [Notification Options](https://cloud.google.com/monitoring/support/notification-options)\n * [Monitoring API Documentation](https://cloud.google.com/monitoring/api/v3/)\n\n{{% examples %}}\n## Example Usage\n{{% /examples %}}",
"properties": {
@@ -72547,6 +75312,10 @@
"type": "string",
"description": "The folder’s display name.\nA folder’s display name must be unique amongst its siblings, e.g. no two folders with the same parent can share the same display name. The display name must start and end with a letter or digit, may contain letters, digits, spaces, hyphens and underscores and can be no longer than 30 characters.\n"
},
+ "folderId": {
+ "type": "string",
+ "description": "The folder id from the name \"folders/{folder_id}\"\n"
+ },
"lifecycleState": {
"type": "string",
"description": "The lifecycle state of the folder such as `ACTIVE` or `DELETE_REQUESTED`.\n"
@@ -72563,6 +75332,7 @@
"required": [
"createTime",
"displayName",
+ "folderId",
"lifecycleState",
"name",
"parent"
@@ -72592,6 +75362,10 @@
"type": "string",
"description": "The folder’s display name.\nA folder’s display name must be unique amongst its siblings, e.g. no two folders with the same parent can share the same display name. The display name must start and end with a letter or digit, may contain letters, digits, spaces, hyphens and underscores and can be no longer than 30 characters.\n"
},
+ "folderId": {
+ "type": "string",
+ "description": "The folder id from the name \"folders/{folder_id}\"\n"
+ },
"lifecycleState": {
"type": "string",
"description": "The lifecycle state of the folder such as `ACTIVE` or `DELETE_REQUESTED`.\n"
@@ -73273,6 +76047,178 @@
"type": "object"
}
},
+ "gcp:osconfig/guestPolicies:GuestPolicies": {
+ "properties": {
+ "assignment": {
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesAssignment:GuestPoliciesAssignment",
+ "description": "Specifies the VM instances that are assigned to this policy. This allows you to target sets\nor groups of VM instances by different parameters such as labels, names, OS, or zones.\nIf left empty, all VM instances underneath this policy are targeted.\nAt the same level in the resource hierarchy (that is within a project), the service prevents\nthe creation of multiple policies that conflict with each other.\nFor more information, see how the service\n[handles assignment conflicts](https://cloud.google.com/compute/docs/os-config-management/create-guest-policy#handle-conflicts). Structure is documented below.\n"
+ },
+ "createTime": {
+ "type": "string",
+ "description": "Time this guest policy was created. A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds. Example:\n\"2014-10-02T15:01:23.045123456Z\".\n"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the guest policy. Length of the description is limited to 1024 characters.\n"
+ },
+ "etag": {
+ "type": "string",
+ "description": "The etag for this guest policy. If this is provided on update, it must match the server's etag.\n"
+ },
+ "guestPolicyId": {
+ "type": "string",
+ "description": "The logical name of the guest policy in the project with the following restrictions:\n* Must contain only lowercase letters, numbers, and hyphens.\n* Must start with a letter.\n* Must be between 1-63 characters.\n* Must end with a number or a letter.\n* Must be unique within the project.\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "Unique identifier for the recipe. Only one recipe with a given name is installed on an instance.\nNames are also used to identify resources which helps to determine whether guest policies have conflicts.\nThis means that requests to create multiple recipes with the same name and version are rejected since they\ncould potentially have conflicting assignments.\n"
+ },
+ "packageRepositories": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesPackageRepository:GuestPoliciesPackageRepository"
+ },
+ "description": "A list of package repositories to configure on the VM instance.\nThis is done before any other configs are applied so they can use these repos.\nPackage repositories are only configured if the corresponding package manager(s) are available. Structure is documented below.\n"
+ },
+ "packages": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesPackage:GuestPoliciesPackage"
+ },
+ "description": "The software packages to be managed by this policy. Structure is documented below.\n"
+ },
+ "project": {
+ "type": "string",
+ "description": "The ID of the project in which the resource belongs.\nIf it is not provided, the provider project is used.\n"
+ },
+ "recipes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesRecipe:GuestPoliciesRecipe"
+ },
+ "description": "A list of Recipes to install on the VM instance. Structure is documented below.\n"
+ },
+ "updateTime": {
+ "type": "string",
+ "description": "Last time this guest policy was updated. A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds. Example:\n\"2014-10-02T15:01:23.045123456Z\".\n"
+ }
+ },
+ "required": [
+ "assignment",
+ "createTime",
+ "etag",
+ "guestPolicyId",
+ "name",
+ "project",
+ "updateTime"
+ ],
+ "inputProperties": {
+ "assignment": {
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesAssignment:GuestPoliciesAssignment",
+ "description": "Specifies the VM instances that are assigned to this policy. This allows you to target sets\nor groups of VM instances by different parameters such as labels, names, OS, or zones.\nIf left empty, all VM instances underneath this policy are targeted.\nAt the same level in the resource hierarchy (that is within a project), the service prevents\nthe creation of multiple policies that conflict with each other.\nFor more information, see how the service\n[handles assignment conflicts](https://cloud.google.com/compute/docs/os-config-management/create-guest-policy#handle-conflicts). Structure is documented below.\n"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the guest policy. Length of the description is limited to 1024 characters.\n"
+ },
+ "etag": {
+ "type": "string",
+ "description": "The etag for this guest policy. If this is provided on update, it must match the server's etag.\n"
+ },
+ "guestPolicyId": {
+ "type": "string",
+ "description": "The logical name of the guest policy in the project with the following restrictions:\n* Must contain only lowercase letters, numbers, and hyphens.\n* Must start with a letter.\n* Must be between 1-63 characters.\n* Must end with a number or a letter.\n* Must be unique within the project.\n"
+ },
+ "packageRepositories": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesPackageRepository:GuestPoliciesPackageRepository"
+ },
+ "description": "A list of package repositories to configure on the VM instance.\nThis is done before any other configs are applied so they can use these repos.\nPackage repositories are only configured if the corresponding package manager(s) are available. Structure is documented below.\n"
+ },
+ "packages": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesPackage:GuestPoliciesPackage"
+ },
+ "description": "The software packages to be managed by this policy. Structure is documented below.\n"
+ },
+ "project": {
+ "type": "string",
+ "description": "The ID of the project in which the resource belongs.\nIf it is not provided, the provider project is used.\n"
+ },
+ "recipes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesRecipe:GuestPoliciesRecipe"
+ },
+ "description": "A list of Recipes to install on the VM instance. Structure is documented below.\n"
+ }
+ },
+ "requiredInputs": [
+ "assignment",
+ "guestPolicyId"
+ ],
+ "stateInputs": {
+ "description": "Input properties used for looking up and filtering GuestPolicies resources.\n",
+ "properties": {
+ "assignment": {
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesAssignment:GuestPoliciesAssignment",
+ "description": "Specifies the VM instances that are assigned to this policy. This allows you to target sets\nor groups of VM instances by different parameters such as labels, names, OS, or zones.\nIf left empty, all VM instances underneath this policy are targeted.\nAt the same level in the resource hierarchy (that is within a project), the service prevents\nthe creation of multiple policies that conflict with each other.\nFor more information, see how the service\n[handles assignment conflicts](https://cloud.google.com/compute/docs/os-config-management/create-guest-policy#handle-conflicts). Structure is documented below.\n"
+ },
+ "createTime": {
+ "type": "string",
+ "description": "Time this guest policy was created. A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds. Example:\n\"2014-10-02T15:01:23.045123456Z\".\n"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the guest policy. Length of the description is limited to 1024 characters.\n"
+ },
+ "etag": {
+ "type": "string",
+ "description": "The etag for this guest policy. If this is provided on update, it must match the server's etag.\n"
+ },
+ "guestPolicyId": {
+ "type": "string",
+ "description": "The logical name of the guest policy in the project with the following restrictions:\n* Must contain only lowercase letters, numbers, and hyphens.\n* Must start with a letter.\n* Must be between 1-63 characters.\n* Must end with a number or a letter.\n* Must be unique within the project.\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "Unique identifier for the recipe. Only one recipe with a given name is installed on an instance.\nNames are also used to identify resources which helps to determine whether guest policies have conflicts.\nThis means that requests to create multiple recipes with the same name and version are rejected since they\ncould potentially have conflicting assignments.\n"
+ },
+ "packageRepositories": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesPackageRepository:GuestPoliciesPackageRepository"
+ },
+ "description": "A list of package repositories to configure on the VM instance.\nThis is done before any other configs are applied so they can use these repos.\nPackage repositories are only configured if the corresponding package manager(s) are available. Structure is documented below.\n"
+ },
+ "packages": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesPackage:GuestPoliciesPackage"
+ },
+ "description": "The software packages to be managed by this policy. Structure is documented below.\n"
+ },
+ "project": {
+ "type": "string",
+ "description": "The ID of the project in which the resource belongs.\nIf it is not provided, the provider project is used.\n"
+ },
+ "recipes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/gcp:osconfig/GuestPoliciesRecipe:GuestPoliciesRecipe"
+ },
+ "description": "A list of Recipes to install on the VM instance. Structure is documented below.\n"
+ },
+ "updateTime": {
+ "type": "string",
+ "description": "Last time this guest policy was updated. A timestamp in RFC3339 UTC \"Zulu\" format, accurate to nanoseconds. Example:\n\"2014-10-02T15:01:23.045123456Z\".\n"
+ }
+ },
+ "type": "object"
+ }
+ },
"gcp:osconfig/patchDeployment:PatchDeployment": {
"description": "Patch deployments are configurations that individual patch jobs use to complete a patch.\nThese configurations include instance filter, package repository settings, and a schedule.\n\n\nTo get more information about PatchDeployment, see:\n\n* [API documentation](https://cloud.google.com/compute/docs/osconfig/rest)\n* How-to Guides\n * [Official Documentation](https://cloud.google.com/compute/docs/os-patch-management)\n\n{{% examples %}}\n## Example Usage\n{{% /examples %}}",
"properties": {
@@ -83220,6 +86166,12 @@
"defaultMaxPodsPerNode": {
"type": "integer"
},
+ "defaultSnatStatuses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/gcp:container/getClusterDefaultSnatStatus:getClusterDefaultSnatStatus"
+ }
+ },
"description": {
"type": "string"
},
@@ -83412,6 +86364,7 @@
"clusterTelemetries",
"databaseEncryptions",
"defaultMaxPodsPerNode",
+ "defaultSnatStatuses",
"description",
"enableBinaryAuthorization",
"enableIntranodeVisibility",
@@ -84833,6 +87786,9 @@
"folder": {
"type": "string"
},
+ "folderId": {
+ "type": "string"
+ },
"id": {
"type": "string",
"description": "The provider-assigned unique ID for this managed resource.\n"
@@ -84862,6 +87818,7 @@
"createTime",
"displayName",
"folder",
+ "folderId",
"lifecycleState",
"name",
"organization",
@@ -85661,6 +88618,127 @@
]
}
},
+ "gcp:sql/getDatabaseInstance:getDatabaseInstance": {
+ "description": "Use this data source to get information about a Cloud SQL instance\n",
+ "inputs": {
+ "description": "A collection of arguments for invoking getDatabaseInstance.\n",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the instance.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "name"
+ ]
+ },
+ "outputs": {
+ "description": "A collection of values returned by getDatabaseInstance.\n",
+ "properties": {
+ "connectionName": {
+ "type": "string",
+ "description": "The connection name of the instance to be used in connection strings.\n"
+ },
+ "databaseVersion": {
+ "type": "string",
+ "description": "The MySQL, PostgreSQL or SQL Server (beta) version to use.\n"
+ },
+ "encryptionKeyName": {
+ "type": "string"
+ },
+ "firstIpAddress": {
+ "type": "string",
+ "description": "The first IPv4 address of any type assigned.\n"
+ },
+ "id": {
+ "type": "string",
+ "description": "The provider-assigned unique ID for this managed resource.\n"
+ },
+ "ipAddresses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/gcp:sql/getDatabaseInstanceIpAddress:getDatabaseInstanceIpAddress"
+ }
+ },
+ "masterInstanceName": {
+ "type": "string",
+ "description": "The name of the instance that will act as\nthe master in the replication setup.\n"
+ },
+ "name": {
+ "type": "string",
+ "description": "A name for this whitelist entry.\n"
+ },
+ "privateIpAddress": {
+ "type": "string",
+ "description": "The first private (`PRIVATE`) IPv4 address assigned.\n"
+ },
+ "project": {
+ "type": "string"
+ },
+ "publicIpAddress": {
+ "type": "string",
+ "description": "The first public (`PRIMARY`) IPv4 address assigned.\n"
+ },
+ "region": {
+ "type": "string"
+ },
+ "replicaConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/gcp:sql/getDatabaseInstanceReplicaConfiguration:getDatabaseInstanceReplicaConfiguration"
+ },
+ "description": "The configuration for replication. The\nconfiguration is detailed below.\n"
+ },
+ "rootPassword": {
+ "type": "string",
+ "description": "Initial root password. Required for MS SQL Server, ignored by MySQL and PostgreSQL.\n"
+ },
+ "selfLink": {
+ "type": "string",
+ "description": "The URI of the created resource.\n"
+ },
+ "serverCaCerts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/gcp:sql/getDatabaseInstanceServerCaCert:getDatabaseInstanceServerCaCert"
+ }
+ },
+ "serviceAccountEmailAddress": {
+ "type": "string",
+ "description": "The service account email address assigned to the instance.\n"
+ },
+ "settings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/types/gcp:sql/getDatabaseInstanceSetting:getDatabaseInstanceSetting"
+ },
+ "description": "The settings to use for the database. The\nconfiguration is detailed below.\n"
+ }
+ },
+ "type": "object",
+ "required": [
+ "connectionName",
+ "databaseVersion",
+ "encryptionKeyName",
+ "firstIpAddress",
+ "ipAddresses",
+ "masterInstanceName",
+ "name",
+ "privateIpAddress",
+ "project",
+ "publicIpAddress",
+ "region",
+ "replicaConfigurations",
+ "rootPassword",
+ "selfLink",
+ "serverCaCerts",
+ "serviceAccountEmailAddress",
+ "settings",
+ "id"
+ ]
+ }
+ },
"gcp:storage/getBucketObject:getBucketObject": {
"description": "Gets an existing object inside an existing bucket in Google Cloud Storage service (GCS).\nSee [the official documentation](https://cloud.google.com/storage/docs/key-terms#objects)\nand\n[API](https://cloud.google.com/storage/docs/json_api/v1/objects).\n\n",
"inputs": {
@@ -85994,6 +89072,7 @@
"bigtable": "BigTable",
"billing": "Billing",
"binaryauthorization": "BinaryAuthorization",
+ "cloudasset": "CloudAsset",
"cloudbuild": "CloudBuild",
"cloudfunctions": "CloudFunctions",
"cloudidentity": "CloudIdentity",
diff --git a/provider/go.mod b/provider/go.mod
index fb8da1b75b..36183ad4c9 100644
--- a/provider/go.mod
+++ b/provider/go.mod
@@ -12,6 +12,6 @@ require (
replace (
github.com/Azure/go-autorest => github.com/Azure/go-autorest v12.4.3+incompatible
github.com/hashicorp/vault => github.com/hashicorp/vault v1.2.0
- github.com/terraform-providers/terraform-provider-google-beta => github.com/pulumi/terraform-provider-google-beta v0.0.0-20200720135636-7408ffc50b46
+ github.com/terraform-providers/terraform-provider-google-beta => github.com/pulumi/terraform-provider-google-beta v0.0.0-20200727210524-5e1c545f84af
google.golang.org/api => google.golang.org/api v0.26.0
)
diff --git a/provider/go.sum b/provider/go.sum
index 3d13c954df..da3b2eccbf 100644
--- a/provider/go.sum
+++ b/provider/go.sum
@@ -574,6 +574,8 @@ github.com/pulumi/terraform-provider-google-beta v0.0.0-20200714072805-05922cba8
github.com/pulumi/terraform-provider-google-beta v0.0.0-20200714072805-05922cba8311/go.mod h1:wPW6rbiohjQ+VJz90Gxc0U6vfyXFXRa4fOVgBM4UZ8M=
github.com/pulumi/terraform-provider-google-beta v0.0.0-20200720135636-7408ffc50b46 h1:WB0rs3N/ccwi5U76ctkR9PZFXVs12aq0iJ3bNBkj16A=
github.com/pulumi/terraform-provider-google-beta v0.0.0-20200720135636-7408ffc50b46/go.mod h1:QvqbJCLadu2/MEDMjWS5FhGGtVsyiH2x/kugX/pYweg=
+github.com/pulumi/terraform-provider-google-beta v0.0.0-20200727210524-5e1c545f84af h1:ftqiisU0X32b2MCJChvLgs0zPcV+3CnwmRJZQEmkySY=
+github.com/pulumi/terraform-provider-google-beta v0.0.0-20200727210524-5e1c545f84af/go.mod h1:kf0ennph7pjXoSmoUup2J964i28MPOwPvf+nPh1zouw=
github.com/pulumi/tf2pulumi v0.8.1-0.20200610210702-8e5d1a569c4a h1:CUbap8oEhlXRiqVBcAGiW63iXuDY7iIwQLM4r7y8lw8=
github.com/pulumi/tf2pulumi v0.8.1-0.20200610210702-8e5d1a569c4a/go.mod h1:lE39suxXfTqjNHg8PxtPUdek3wnTTdnoYXVpQdFGmEo=
github.com/pulumi/tf2pulumi v0.8.1-0.20200630203740-1846524be4ec h1:C0l29EHsfhH+reeRSmqr0sIzJipQpXssof3YZurRrVo=
@@ -677,6 +679,7 @@ github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQ
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
+github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/zclconf/go-cty v1.0.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s=
github.com/zclconf/go-cty v1.1.0/go.mod h1:xnAOWiHeOqg2nWS62VtQ7pbOu17FtxJNW8RLEih+O3s=
github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8=
@@ -716,6 +719,8 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U
golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200317142112-1b76d66859c6 h1:TjszyFsQsyZNHwdVdZ5m7bjmreu0znc2kRYsEml9/Ww=
golang.org/x/crypto v0.0.0-20200317142112-1b76d66859c6/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9 h1:psW17arqaxU48Z5kZ0CQnkZWQJsqcURM6tKiBApRjXI=
+golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -750,6 +755,8 @@ golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzB
golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
golang.org/x/mod v0.2.0 h1:KU7oHjnv3XNWfa5COkzUifxZmxp1TyI7ImMXqFxLwvQ=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+golang.org/x/mod v0.3.0 h1:RM4zey1++hCTbCVQfnWeKs9/IEsaBLA8vTkd0WVtmH4=
+golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/net v0.0.0-20170915142106-8351a756f30f/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180811021610-c39426892332/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -780,6 +787,8 @@ golang.org/x/net v0.0.0-20200301022130-244492dfa37a h1:GuSPYbZzB5/dcLNCwLQLsg3ob
golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e h1:3G+cUijn7XD+S4eJFddp53Pv7+slrESplyjG25HgL+k=
golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
+golang.org/x/net v0.0.0-20200625001655-4c5254603344 h1:vGXIOMxbNfDTk/aXCmfdLgkrSV+Z2tcbze+pEc3v5W4=
+golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190402181905-9f3314589c9a/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -795,6 +804,7 @@ golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a h1:WXEvlFVvvGxCJLG6REjsT03iWnKLEWinaScsxF2Vm2o=
golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20171026204733-164713f0dfce/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -891,6 +901,7 @@ golang.org/x/tools v0.0.0-20200224181240-023911ca70b2 h1:L/G4KZvrQn7FWLN/LlulBtB
golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4 h1:kDtqNkeBrZb8B+atrj50B5XLHpzXXqcCdZPP/ApQ5NY=
golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8=
+golang.org/x/tools v0.0.0-20200717024301-6ddee64345a6/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
diff --git a/provider/resources.go b/provider/resources.go
index 1e4f52eb16..1548a9615c 100644
--- a/provider/resources.go
+++ b/provider/resources.go
@@ -26,6 +26,7 @@ const (
gcpBigTable = "BigTable" // BitTable resources
gcpBilling = "Billing" // Billing resources
gcpBinaryAuthorization = "BinaryAuthorization" // Binary Authorization resources
+ gcpCloudAsset = "CloudAsset" // CloudAsset resources
gcpCloudBuild = "CloudBuild" // CloudBuild resources
gcpCloudFunctions = "CloudFunctions" // CloudFunction resources
gcpCloudIdentity = "CloudIdentity" // CloudIdentity resources
@@ -812,8 +813,9 @@ func Provider() tfbridge.ProviderInfo {
Source: "monitoring_service.html.markdown",
},
},
- "google_monitoring_slo": {Tok: gcpResource(gcpMonitoring, "Slo")},
- "google_monitoring_dashboard": {Tok: gcpResource(gcpMonitoring, "Dashboard")},
+ "google_monitoring_slo": {Tok: gcpResource(gcpMonitoring, "Slo")},
+ "google_monitoring_dashboard": {Tok: gcpResource(gcpMonitoring, "Dashboard")},
+ "google_monitoring_metric_descriptor": {Tok: gcpResource(gcpMonitoring, "MetricDescriptor")},
// PubSub resources
"google_pubsub_topic": {Tok: gcpResource(gcpPubSub, "Topic")},
@@ -1412,6 +1414,7 @@ func Provider() tfbridge.ProviderInfo {
// OS Config
"google_os_config_patch_deployment": {Tok: gcpResource(gcpOsConfig, "PatchDeployment")},
+ "google_os_config_guest_policies": {Tok: gcpResource(gcpOsConfig, "GuestPolicies")},
// Service Directory
"google_service_directory_endpoint": {Tok: gcpResource(gcpServiceDirectory, "Endpoint")},
@@ -1521,6 +1524,11 @@ func Provider() tfbridge.ProviderInfo {
// CloudIOT
"google_cloudiot_device": {Tok: gcpResource(gcpIot, "Device")},
+
+ // CloudAsset
+ "google_cloud_asset_folder_feed": {Tok: gcpResource(gcpCloudAsset, "FolderFeed")},
+ "google_cloud_asset_organization_feed": {Tok: gcpResource(gcpCloudAsset, "OrganizationFeed")},
+ "google_cloud_asset_project_feed": {Tok: gcpResource(gcpCloudAsset, "ProjectFeed")},
},
DataSources: map[string]*tfbridge.DataSourceInfo{
"google_billing_account": {
@@ -1884,6 +1892,9 @@ func Provider() tfbridge.ProviderInfo {
Source: "datasource_google_sql_ca_certs.html.markdown",
},
},
+ "google_sql_database_instance": {
+ Tok: gcpDataSource(gcpSQL, "getDatabaseInstance"),
+ },
"google_monitoring_notification_channel": {
Tok: gcpDataSource(gcpMonitoring, "getNotificationChannel"),
Docs: &tfbridge.DocInfo{
diff --git a/sdk/dotnet/CloudAsset/FolderFeed.cs b/sdk/dotnet/CloudAsset/FolderFeed.cs
new file mode 100644
index 0000000000..4c83dde4c3
--- /dev/null
+++ b/sdk/dotnet/CloudAsset/FolderFeed.cs
@@ -0,0 +1,283 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Gcp.CloudAsset
+{
+ ///
+ /// Describes a Cloud Asset Inventory feed used to to listen to asset updates.
+ ///
+ /// To get more information about FolderFeed, see:
+ ///
+ /// * [API documentation](https://cloud.google.com/asset-inventory/docs/reference/rest/)
+ /// * How-to Guides
+ /// * [Official Documentation](https://cloud.google.com/asset-inventory/docs)
+ ///
+ /// ## Example Usage
+ ///
+ public partial class FolderFeed : Pulumi.CustomResource
+ {
+ ///
+ /// A list of the full names of the assets to receive updates. You must specify either or both of
+ /// assetNames and assetTypes. Only asset updates matching specified assetNames and assetTypes are
+ /// exported to the feed. For example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1.
+ /// See https://cloud.google.com/apis/design/resourceNames#fullResourceName for more info.
+ ///
+ [Output("assetNames")]
+ public Output> AssetNames { get; private set; } = null!;
+
+ ///
+ /// A list of types of the assets to receive updates. You must specify either or both of assetNames
+ /// and assetTypes. Only asset updates matching specified assetNames and assetTypes are exported to
+ /// the feed. For example: "compute.googleapis.com/Disk"
+ /// See https://cloud.google.com/asset-inventory/docs/supported-asset-types for a list of all
+ /// supported asset types.
+ ///
+ [Output("assetTypes")]
+ public Output> AssetTypes { get; private set; } = null!;
+
+ ///
+ /// The project whose identity will be used when sending messages to the
+ /// destination pubsub topic. It also specifies the project for API
+ /// enablement check, quota, and billing.
+ ///
+ [Output("billingProject")]
+ public Output BillingProject { get; private set; } = null!;
+
+ ///
+ /// Asset content type. If not specified, no content but the asset name and type will be returned.
+ ///
+ [Output("contentType")]
+ public Output ContentType { get; private set; } = null!;
+
+ ///
+ /// This is the client-assigned asset feed identifier and it needs to be unique under a specific parent.
+ ///
+ [Output("feedId")]
+ public Output FeedId { get; private set; } = null!;
+
+ ///
+ /// Output configuration for asset feed destination. Structure is documented below.
+ ///
+ [Output("feedOutputConfig")]
+ public Output FeedOutputConfig { get; private set; } = null!;
+
+ ///
+ /// The folder this feed should be created in.
+ ///
+ [Output("folder")]
+ public Output Folder { get; private set; } = null!;
+
+ ///
+ /// The ID of the folder where this feed has been created. Both [FOLDER_NUMBER] and folders/[FOLDER_NUMBER] are accepted.
+ ///
+ [Output("folderId")]
+ public Output FolderId { get; private set; } = null!;
+
+ ///
+ /// The format will be folders/{folder_number}/feeds/{client-assigned_feed_identifier}.
+ ///
+ [Output("name")]
+ public Output Name { get; private set; } = null!;
+
+
+ ///
+ /// Create a FolderFeed resource with the given unique name, arguments, and options.
+ ///
+ ///
+ /// The unique name of the resource
+ /// The arguments used to populate this resource's properties
+ /// A bag of options that control this resource's behavior
+ public FolderFeed(string name, FolderFeedArgs args, CustomResourceOptions? options = null)
+ : base("gcp:cloudasset/folderFeed:FolderFeed", name, args ?? new FolderFeedArgs(), MakeResourceOptions(options, ""))
+ {
+ }
+
+ private FolderFeed(string name, Input id, FolderFeedState? state = null, CustomResourceOptions? options = null)
+ : base("gcp:cloudasset/folderFeed:FolderFeed", name, state, MakeResourceOptions(options, id))
+ {
+ }
+
+ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id)
+ {
+ var defaultOptions = new CustomResourceOptions
+ {
+ Version = Utilities.Version,
+ };
+ var merged = CustomResourceOptions.Merge(defaultOptions, options);
+ // Override the ID if one was specified for consistency with other language SDKs.
+ merged.Id = id ?? merged.Id;
+ return merged;
+ }
+ ///
+ /// Get an existing FolderFeed resource's state with the given name, ID, and optional extra
+ /// properties used to qualify the lookup.
+ ///
+ ///
+ /// The unique name of the resulting resource.
+ /// The unique provider ID of the resource to lookup.
+ /// Any extra arguments used during the lookup.
+ /// A bag of options that control this resource's behavior
+ public static FolderFeed Get(string name, Input id, FolderFeedState? state = null, CustomResourceOptions? options = null)
+ {
+ return new FolderFeed(name, id, state, options);
+ }
+ }
+
+ public sealed class FolderFeedArgs : Pulumi.ResourceArgs
+ {
+ [Input("assetNames")]
+ private InputList? _assetNames;
+
+ ///
+ /// A list of the full names of the assets to receive updates. You must specify either or both of
+ /// assetNames and assetTypes. Only asset updates matching specified assetNames and assetTypes are
+ /// exported to the feed. For example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1.
+ /// See https://cloud.google.com/apis/design/resourceNames#fullResourceName for more info.
+ ///
+ public InputList AssetNames
+ {
+ get => _assetNames ?? (_assetNames = new InputList());
+ set => _assetNames = value;
+ }
+
+ [Input("assetTypes")]
+ private InputList? _assetTypes;
+
+ ///
+ /// A list of types of the assets to receive updates. You must specify either or both of assetNames
+ /// and assetTypes. Only asset updates matching specified assetNames and assetTypes are exported to
+ /// the feed. For example: "compute.googleapis.com/Disk"
+ /// See https://cloud.google.com/asset-inventory/docs/supported-asset-types for a list of all
+ /// supported asset types.
+ ///
+ public InputList AssetTypes
+ {
+ get => _assetTypes ?? (_assetTypes = new InputList());
+ set => _assetTypes = value;
+ }
+
+ ///
+ /// The project whose identity will be used when sending messages to the
+ /// destination pubsub topic. It also specifies the project for API
+ /// enablement check, quota, and billing.
+ ///
+ [Input("billingProject", required: true)]
+ public Input BillingProject { get; set; } = null!;
+
+ ///
+ /// Asset content type. If not specified, no content but the asset name and type will be returned.
+ ///
+ [Input("contentType")]
+ public Input? ContentType { get; set; }
+
+ ///
+ /// This is the client-assigned asset feed identifier and it needs to be unique under a specific parent.
+ ///
+ [Input("feedId", required: true)]
+ public Input FeedId { get; set; } = null!;
+
+ ///
+ /// Output configuration for asset feed destination. Structure is documented below.
+ ///
+ [Input("feedOutputConfig", required: true)]
+ public Input FeedOutputConfig { get; set; } = null!;
+
+ ///
+ /// The folder this feed should be created in.
+ ///
+ [Input("folder", required: true)]
+ public Input Folder { get; set; } = null!;
+
+ public FolderFeedArgs()
+ {
+ }
+ }
+
+ public sealed class FolderFeedState : Pulumi.ResourceArgs
+ {
+ [Input("assetNames")]
+ private InputList? _assetNames;
+
+ ///
+ /// A list of the full names of the assets to receive updates. You must specify either or both of
+ /// assetNames and assetTypes. Only asset updates matching specified assetNames and assetTypes are
+ /// exported to the feed. For example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1.
+ /// See https://cloud.google.com/apis/design/resourceNames#fullResourceName for more info.
+ ///
+ public InputList AssetNames
+ {
+ get => _assetNames ?? (_assetNames = new InputList());
+ set => _assetNames = value;
+ }
+
+ [Input("assetTypes")]
+ private InputList? _assetTypes;
+
+ ///
+ /// A list of types of the assets to receive updates. You must specify either or both of assetNames
+ /// and assetTypes. Only asset updates matching specified assetNames and assetTypes are exported to
+ /// the feed. For example: "compute.googleapis.com/Disk"
+ /// See https://cloud.google.com/asset-inventory/docs/supported-asset-types for a list of all
+ /// supported asset types.
+ ///
+ public InputList AssetTypes
+ {
+ get => _assetTypes ?? (_assetTypes = new InputList());
+ set => _assetTypes = value;
+ }
+
+ ///
+ /// The project whose identity will be used when sending messages to the
+ /// destination pubsub topic. It also specifies the project for API
+ /// enablement check, quota, and billing.
+ ///
+ [Input("billingProject")]
+ public Input? BillingProject { get; set; }
+
+ ///
+ /// Asset content type. If not specified, no content but the asset name and type will be returned.
+ ///
+ [Input("contentType")]
+ public Input? ContentType { get; set; }
+
+ ///
+ /// This is the client-assigned asset feed identifier and it needs to be unique under a specific parent.
+ ///
+ [Input("feedId")]
+ public Input? FeedId { get; set; }
+
+ ///
+ /// Output configuration for asset feed destination. Structure is documented below.
+ ///
+ [Input("feedOutputConfig")]
+ public Input? FeedOutputConfig { get; set; }
+
+ ///
+ /// The folder this feed should be created in.
+ ///
+ [Input("folder")]
+ public Input? Folder { get; set; }
+
+ ///
+ /// The ID of the folder where this feed has been created. Both [FOLDER_NUMBER] and folders/[FOLDER_NUMBER] are accepted.
+ ///
+ [Input("folderId")]
+ public Input? FolderId { get; set; }
+
+ ///
+ /// The format will be folders/{folder_number}/feeds/{client-assigned_feed_identifier}.
+ ///
+ [Input("name")]
+ public Input? Name { get; set; }
+
+ public FolderFeedState()
+ {
+ }
+ }
+}
diff --git a/sdk/dotnet/CloudAsset/Inputs/FolderFeedFeedOutputConfigArgs.cs b/sdk/dotnet/CloudAsset/Inputs/FolderFeedFeedOutputConfigArgs.cs
new file mode 100644
index 0000000000..17198727a5
--- /dev/null
+++ b/sdk/dotnet/CloudAsset/Inputs/FolderFeedFeedOutputConfigArgs.cs
@@ -0,0 +1,25 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Gcp.CloudAsset.Inputs
+{
+
+ public sealed class FolderFeedFeedOutputConfigArgs : Pulumi.ResourceArgs
+ {
+ ///
+ /// Destination on Cloud Pubsub. Structure is documented below.
+ ///
+ [Input("pubsubDestination", required: true)]
+ public Input PubsubDestination { get; set; } = null!;
+
+ public FolderFeedFeedOutputConfigArgs()
+ {
+ }
+ }
+}
diff --git a/sdk/dotnet/CloudAsset/Inputs/FolderFeedFeedOutputConfigGetArgs.cs b/sdk/dotnet/CloudAsset/Inputs/FolderFeedFeedOutputConfigGetArgs.cs
new file mode 100644
index 0000000000..7078f6bd32
--- /dev/null
+++ b/sdk/dotnet/CloudAsset/Inputs/FolderFeedFeedOutputConfigGetArgs.cs
@@ -0,0 +1,25 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Gcp.CloudAsset.Inputs
+{
+
+ public sealed class FolderFeedFeedOutputConfigGetArgs : Pulumi.ResourceArgs
+ {
+ ///
+ /// Destination on Cloud Pubsub. Structure is documented below.
+ ///
+ [Input("pubsubDestination", required: true)]
+ public Input PubsubDestination { get; set; } = null!;
+
+ public FolderFeedFeedOutputConfigGetArgs()
+ {
+ }
+ }
+}
diff --git a/sdk/dotnet/CloudAsset/Inputs/FolderFeedFeedOutputConfigPubsubDestinationArgs.cs b/sdk/dotnet/CloudAsset/Inputs/FolderFeedFeedOutputConfigPubsubDestinationArgs.cs
new file mode 100644
index 0000000000..89778a5f3d
--- /dev/null
+++ b/sdk/dotnet/CloudAsset/Inputs/FolderFeedFeedOutputConfigPubsubDestinationArgs.cs
@@ -0,0 +1,25 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Gcp.CloudAsset.Inputs
+{
+
+ public sealed class FolderFeedFeedOutputConfigPubsubDestinationArgs : Pulumi.ResourceArgs
+ {
+ ///
+ /// Destination on Cloud Pubsub topic.
+ ///
+ [Input("topic", required: true)]
+ public Input Topic { get; set; } = null!;
+
+ public FolderFeedFeedOutputConfigPubsubDestinationArgs()
+ {
+ }
+ }
+}
diff --git a/sdk/dotnet/CloudAsset/Inputs/FolderFeedFeedOutputConfigPubsubDestinationGetArgs.cs b/sdk/dotnet/CloudAsset/Inputs/FolderFeedFeedOutputConfigPubsubDestinationGetArgs.cs
new file mode 100644
index 0000000000..9b94aebc70
--- /dev/null
+++ b/sdk/dotnet/CloudAsset/Inputs/FolderFeedFeedOutputConfigPubsubDestinationGetArgs.cs
@@ -0,0 +1,25 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Gcp.CloudAsset.Inputs
+{
+
+ public sealed class FolderFeedFeedOutputConfigPubsubDestinationGetArgs : Pulumi.ResourceArgs
+ {
+ ///
+ /// Destination on Cloud Pubsub topic.
+ ///
+ [Input("topic", required: true)]
+ public Input Topic { get; set; } = null!;
+
+ public FolderFeedFeedOutputConfigPubsubDestinationGetArgs()
+ {
+ }
+ }
+}
diff --git a/sdk/dotnet/CloudAsset/Inputs/OrganizationFeedFeedOutputConfigArgs.cs b/sdk/dotnet/CloudAsset/Inputs/OrganizationFeedFeedOutputConfigArgs.cs
new file mode 100644
index 0000000000..57ced0fa54
--- /dev/null
+++ b/sdk/dotnet/CloudAsset/Inputs/OrganizationFeedFeedOutputConfigArgs.cs
@@ -0,0 +1,25 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Gcp.CloudAsset.Inputs
+{
+
+ public sealed class OrganizationFeedFeedOutputConfigArgs : Pulumi.ResourceArgs
+ {
+ ///
+ /// Destination on Cloud Pubsub. Structure is documented below.
+ ///
+ [Input("pubsubDestination", required: true)]
+ public Input PubsubDestination { get; set; } = null!;
+
+ public OrganizationFeedFeedOutputConfigArgs()
+ {
+ }
+ }
+}
diff --git a/sdk/dotnet/CloudAsset/Inputs/OrganizationFeedFeedOutputConfigGetArgs.cs b/sdk/dotnet/CloudAsset/Inputs/OrganizationFeedFeedOutputConfigGetArgs.cs
new file mode 100644
index 0000000000..b7f458cee7
--- /dev/null
+++ b/sdk/dotnet/CloudAsset/Inputs/OrganizationFeedFeedOutputConfigGetArgs.cs
@@ -0,0 +1,25 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Gcp.CloudAsset.Inputs
+{
+
+ public sealed class OrganizationFeedFeedOutputConfigGetArgs : Pulumi.ResourceArgs
+ {
+ ///
+ /// Destination on Cloud Pubsub. Structure is documented below.
+ ///
+ [Input("pubsubDestination", required: true)]
+ public Input PubsubDestination { get; set; } = null!;
+
+ public OrganizationFeedFeedOutputConfigGetArgs()
+ {
+ }
+ }
+}
diff --git a/sdk/dotnet/CloudAsset/Inputs/OrganizationFeedFeedOutputConfigPubsubDestinationArgs.cs b/sdk/dotnet/CloudAsset/Inputs/OrganizationFeedFeedOutputConfigPubsubDestinationArgs.cs
new file mode 100644
index 0000000000..48abab8f3b
--- /dev/null
+++ b/sdk/dotnet/CloudAsset/Inputs/OrganizationFeedFeedOutputConfigPubsubDestinationArgs.cs
@@ -0,0 +1,25 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Gcp.CloudAsset.Inputs
+{
+
+ public sealed class OrganizationFeedFeedOutputConfigPubsubDestinationArgs : Pulumi.ResourceArgs
+ {
+ ///
+ /// Destination on Cloud Pubsub topic.
+ ///
+ [Input("topic", required: true)]
+ public Input Topic { get; set; } = null!;
+
+ public OrganizationFeedFeedOutputConfigPubsubDestinationArgs()
+ {
+ }
+ }
+}
diff --git a/sdk/dotnet/CloudAsset/Inputs/OrganizationFeedFeedOutputConfigPubsubDestinationGetArgs.cs b/sdk/dotnet/CloudAsset/Inputs/OrganizationFeedFeedOutputConfigPubsubDestinationGetArgs.cs
new file mode 100644
index 0000000000..d30b485969
--- /dev/null
+++ b/sdk/dotnet/CloudAsset/Inputs/OrganizationFeedFeedOutputConfigPubsubDestinationGetArgs.cs
@@ -0,0 +1,25 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Gcp.CloudAsset.Inputs
+{
+
+ public sealed class OrganizationFeedFeedOutputConfigPubsubDestinationGetArgs : Pulumi.ResourceArgs
+ {
+ ///
+ /// Destination on Cloud Pubsub topic.
+ ///
+ [Input("topic", required: true)]
+ public Input Topic { get; set; } = null!;
+
+ public OrganizationFeedFeedOutputConfigPubsubDestinationGetArgs()
+ {
+ }
+ }
+}
diff --git a/sdk/dotnet/CloudAsset/Inputs/ProjectFeedFeedOutputConfigArgs.cs b/sdk/dotnet/CloudAsset/Inputs/ProjectFeedFeedOutputConfigArgs.cs
new file mode 100644
index 0000000000..49145e513f
--- /dev/null
+++ b/sdk/dotnet/CloudAsset/Inputs/ProjectFeedFeedOutputConfigArgs.cs
@@ -0,0 +1,25 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Gcp.CloudAsset.Inputs
+{
+
+ public sealed class ProjectFeedFeedOutputConfigArgs : Pulumi.ResourceArgs
+ {
+ ///
+ /// Destination on Cloud Pubsub. Structure is documented below.
+ ///
+ [Input("pubsubDestination", required: true)]
+ public Input PubsubDestination { get; set; } = null!;
+
+ public ProjectFeedFeedOutputConfigArgs()
+ {
+ }
+ }
+}
diff --git a/sdk/dotnet/CloudAsset/Inputs/ProjectFeedFeedOutputConfigGetArgs.cs b/sdk/dotnet/CloudAsset/Inputs/ProjectFeedFeedOutputConfigGetArgs.cs
new file mode 100644
index 0000000000..df66b4c7c8
--- /dev/null
+++ b/sdk/dotnet/CloudAsset/Inputs/ProjectFeedFeedOutputConfigGetArgs.cs
@@ -0,0 +1,25 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Gcp.CloudAsset.Inputs
+{
+
+ public sealed class ProjectFeedFeedOutputConfigGetArgs : Pulumi.ResourceArgs
+ {
+ ///
+ /// Destination on Cloud Pubsub. Structure is documented below.
+ ///
+ [Input("pubsubDestination", required: true)]
+ public Input PubsubDestination { get; set; } = null!;
+
+ public ProjectFeedFeedOutputConfigGetArgs()
+ {
+ }
+ }
+}
diff --git a/sdk/dotnet/CloudAsset/Inputs/ProjectFeedFeedOutputConfigPubsubDestinationArgs.cs b/sdk/dotnet/CloudAsset/Inputs/ProjectFeedFeedOutputConfigPubsubDestinationArgs.cs
new file mode 100644
index 0000000000..5cce274846
--- /dev/null
+++ b/sdk/dotnet/CloudAsset/Inputs/ProjectFeedFeedOutputConfigPubsubDestinationArgs.cs
@@ -0,0 +1,25 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Gcp.CloudAsset.Inputs
+{
+
+ public sealed class ProjectFeedFeedOutputConfigPubsubDestinationArgs : Pulumi.ResourceArgs
+ {
+ ///
+ /// Destination on Cloud Pubsub topic.
+ ///
+ [Input("topic", required: true)]
+ public Input Topic { get; set; } = null!;
+
+ public ProjectFeedFeedOutputConfigPubsubDestinationArgs()
+ {
+ }
+ }
+}
diff --git a/sdk/dotnet/CloudAsset/Inputs/ProjectFeedFeedOutputConfigPubsubDestinationGetArgs.cs b/sdk/dotnet/CloudAsset/Inputs/ProjectFeedFeedOutputConfigPubsubDestinationGetArgs.cs
new file mode 100644
index 0000000000..71e75560e4
--- /dev/null
+++ b/sdk/dotnet/CloudAsset/Inputs/ProjectFeedFeedOutputConfigPubsubDestinationGetArgs.cs
@@ -0,0 +1,25 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Gcp.CloudAsset.Inputs
+{
+
+ public sealed class ProjectFeedFeedOutputConfigPubsubDestinationGetArgs : Pulumi.ResourceArgs
+ {
+ ///
+ /// Destination on Cloud Pubsub topic.
+ ///
+ [Input("topic", required: true)]
+ public Input Topic { get; set; } = null!;
+
+ public ProjectFeedFeedOutputConfigPubsubDestinationGetArgs()
+ {
+ }
+ }
+}
diff --git a/sdk/dotnet/CloudAsset/OrganizationFeed.cs b/sdk/dotnet/CloudAsset/OrganizationFeed.cs
new file mode 100644
index 0000000000..1be39e5961
--- /dev/null
+++ b/sdk/dotnet/CloudAsset/OrganizationFeed.cs
@@ -0,0 +1,271 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Gcp.CloudAsset
+{
+ ///
+ /// Describes a Cloud Asset Inventory feed used to to listen to asset updates.
+ ///
+ /// To get more information about OrganizationFeed, see:
+ ///
+ /// * [API documentation](https://cloud.google.com/asset-inventory/docs/reference/rest/)
+ /// * How-to Guides
+ /// * [Official Documentation](https://cloud.google.com/asset-inventory/docs)
+ ///
+ /// ## Example Usage
+ ///
+ public partial class OrganizationFeed : Pulumi.CustomResource
+ {
+ ///
+ /// A list of the full names of the assets to receive updates. You must specify either or both of
+ /// assetNames and assetTypes. Only asset updates matching specified assetNames and assetTypes are
+ /// exported to the feed. For example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1.
+ /// See https://cloud.google.com/apis/design/resourceNames#fullResourceName for more info.
+ ///
+ [Output("assetNames")]
+ public Output> AssetNames { get; private set; } = null!;
+
+ ///
+ /// A list of types of the assets to receive updates. You must specify either or both of assetNames
+ /// and assetTypes. Only asset updates matching specified assetNames and assetTypes are exported to
+ /// the feed. For example: "compute.googleapis.com/Disk"
+ /// See https://cloud.google.com/asset-inventory/docs/supported-asset-types for a list of all
+ /// supported asset types.
+ ///
+ [Output("assetTypes")]
+ public Output> AssetTypes { get; private set; } = null!;
+
+ ///
+ /// The project whose identity will be used when sending messages to the
+ /// destination pubsub topic. It also specifies the project for API
+ /// enablement check, quota, and billing.
+ ///
+ [Output("billingProject")]
+ public Output BillingProject { get; private set; } = null!;
+
+ ///
+ /// Asset content type. If not specified, no content but the asset name and type will be returned.
+ ///
+ [Output("contentType")]
+ public Output ContentType { get; private set; } = null!;
+
+ ///
+ /// This is the client-assigned asset feed identifier and it needs to be unique under a specific parent.
+ ///
+ [Output("feedId")]
+ public Output FeedId { get; private set; } = null!;
+
+ ///
+ /// Output configuration for asset feed destination. Structure is documented below.
+ ///
+ [Output("feedOutputConfig")]
+ public Output FeedOutputConfig { get; private set; } = null!;
+
+ ///
+ /// The format will be organizations/{organization_number}/feeds/{client-assigned_feed_identifier}.
+ ///
+ [Output("name")]
+ public Output Name { get; private set; } = null!;
+
+ ///
+ /// The organization this feed should be created in.
+ ///
+ [Output("orgId")]
+ public Output OrgId { get; private set; } = null!;
+
+
+ ///
+ /// Create a OrganizationFeed resource with the given unique name, arguments, and options.
+ ///
+ ///
+ /// The unique name of the resource
+ /// The arguments used to populate this resource's properties
+ /// A bag of options that control this resource's behavior
+ public OrganizationFeed(string name, OrganizationFeedArgs args, CustomResourceOptions? options = null)
+ : base("gcp:cloudasset/organizationFeed:OrganizationFeed", name, args ?? new OrganizationFeedArgs(), MakeResourceOptions(options, ""))
+ {
+ }
+
+ private OrganizationFeed(string name, Input id, OrganizationFeedState? state = null, CustomResourceOptions? options = null)
+ : base("gcp:cloudasset/organizationFeed:OrganizationFeed", name, state, MakeResourceOptions(options, id))
+ {
+ }
+
+ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id)
+ {
+ var defaultOptions = new CustomResourceOptions
+ {
+ Version = Utilities.Version,
+ };
+ var merged = CustomResourceOptions.Merge(defaultOptions, options);
+ // Override the ID if one was specified for consistency with other language SDKs.
+ merged.Id = id ?? merged.Id;
+ return merged;
+ }
+ ///
+ /// Get an existing OrganizationFeed resource's state with the given name, ID, and optional extra
+ /// properties used to qualify the lookup.
+ ///
+ ///
+ /// The unique name of the resulting resource.
+ /// The unique provider ID of the resource to lookup.
+ /// Any extra arguments used during the lookup.
+ /// A bag of options that control this resource's behavior
+ public static OrganizationFeed Get(string name, Input id, OrganizationFeedState? state = null, CustomResourceOptions? options = null)
+ {
+ return new OrganizationFeed(name, id, state, options);
+ }
+ }
+
+ public sealed class OrganizationFeedArgs : Pulumi.ResourceArgs
+ {
+ [Input("assetNames")]
+ private InputList? _assetNames;
+
+ ///
+ /// A list of the full names of the assets to receive updates. You must specify either or both of
+ /// assetNames and assetTypes. Only asset updates matching specified assetNames and assetTypes are
+ /// exported to the feed. For example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1.
+ /// See https://cloud.google.com/apis/design/resourceNames#fullResourceName for more info.
+ ///
+ public InputList AssetNames
+ {
+ get => _assetNames ?? (_assetNames = new InputList());
+ set => _assetNames = value;
+ }
+
+ [Input("assetTypes")]
+ private InputList? _assetTypes;
+
+ ///
+ /// A list of types of the assets to receive updates. You must specify either or both of assetNames
+ /// and assetTypes. Only asset updates matching specified assetNames and assetTypes are exported to
+ /// the feed. For example: "compute.googleapis.com/Disk"
+ /// See https://cloud.google.com/asset-inventory/docs/supported-asset-types for a list of all
+ /// supported asset types.
+ ///
+ public InputList AssetTypes
+ {
+ get => _assetTypes ?? (_assetTypes = new InputList());
+ set => _assetTypes = value;
+ }
+
+ ///
+ /// The project whose identity will be used when sending messages to the
+ /// destination pubsub topic. It also specifies the project for API
+ /// enablement check, quota, and billing.
+ ///
+ [Input("billingProject", required: true)]
+ public Input BillingProject { get; set; } = null!;
+
+ ///
+ /// Asset content type. If not specified, no content but the asset name and type will be returned.
+ ///
+ [Input("contentType")]
+ public Input? ContentType { get; set; }
+
+ ///
+ /// This is the client-assigned asset feed identifier and it needs to be unique under a specific parent.
+ ///
+ [Input("feedId", required: true)]
+ public Input FeedId { get; set; } = null!;
+
+ ///
+ /// Output configuration for asset feed destination. Structure is documented below.
+ ///
+ [Input("feedOutputConfig", required: true)]
+ public Input FeedOutputConfig { get; set; } = null!;
+
+ ///
+ /// The organization this feed should be created in.
+ ///
+ [Input("orgId", required: true)]
+ public Input OrgId { get; set; } = null!;
+
+ public OrganizationFeedArgs()
+ {
+ }
+ }
+
+ public sealed class OrganizationFeedState : Pulumi.ResourceArgs
+ {
+ [Input("assetNames")]
+ private InputList? _assetNames;
+
+ ///
+ /// A list of the full names of the assets to receive updates. You must specify either or both of
+ /// assetNames and assetTypes. Only asset updates matching specified assetNames and assetTypes are
+ /// exported to the feed. For example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1.
+ /// See https://cloud.google.com/apis/design/resourceNames#fullResourceName for more info.
+ ///
+ public InputList AssetNames
+ {
+ get => _assetNames ?? (_assetNames = new InputList());
+ set => _assetNames = value;
+ }
+
+ [Input("assetTypes")]
+ private InputList? _assetTypes;
+
+ ///
+ /// A list of types of the assets to receive updates. You must specify either or both of assetNames
+ /// and assetTypes. Only asset updates matching specified assetNames and assetTypes are exported to
+ /// the feed. For example: "compute.googleapis.com/Disk"
+ /// See https://cloud.google.com/asset-inventory/docs/supported-asset-types for a list of all
+ /// supported asset types.
+ ///
+ public InputList AssetTypes
+ {
+ get => _assetTypes ?? (_assetTypes = new InputList());
+ set => _assetTypes = value;
+ }
+
+ ///
+ /// The project whose identity will be used when sending messages to the
+ /// destination pubsub topic. It also specifies the project for API
+ /// enablement check, quota, and billing.
+ ///
+ [Input("billingProject")]
+ public Input? BillingProject { get; set; }
+
+ ///
+ /// Asset content type. If not specified, no content but the asset name and type will be returned.
+ ///
+ [Input("contentType")]
+ public Input? ContentType { get; set; }
+
+ ///
+ /// This is the client-assigned asset feed identifier and it needs to be unique under a specific parent.
+ ///
+ [Input("feedId")]
+ public Input? FeedId { get; set; }
+
+ ///
+ /// Output configuration for asset feed destination. Structure is documented below.
+ ///
+ [Input("feedOutputConfig")]
+ public Input? FeedOutputConfig { get; set; }
+
+ ///
+ /// The format will be organizations/{organization_number}/feeds/{client-assigned_feed_identifier}.
+ ///
+ [Input("name")]
+ public Input? Name { get; set; }
+
+ ///
+ /// The organization this feed should be created in.
+ ///
+ [Input("orgId")]
+ public Input? OrgId { get; set; }
+
+ public OrganizationFeedState()
+ {
+ }
+ }
+}
diff --git a/sdk/dotnet/CloudAsset/Outputs/FolderFeedFeedOutputConfig.cs b/sdk/dotnet/CloudAsset/Outputs/FolderFeedFeedOutputConfig.cs
new file mode 100644
index 0000000000..e938c8e4f7
--- /dev/null
+++ b/sdk/dotnet/CloudAsset/Outputs/FolderFeedFeedOutputConfig.cs
@@ -0,0 +1,27 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Gcp.CloudAsset.Outputs
+{
+
+ [OutputType]
+ public sealed class FolderFeedFeedOutputConfig
+ {
+ ///
+ /// Destination on Cloud Pubsub. Structure is documented below.
+ ///
+ public readonly Outputs.FolderFeedFeedOutputConfigPubsubDestination PubsubDestination;
+
+ [OutputConstructor]
+ private FolderFeedFeedOutputConfig(Outputs.FolderFeedFeedOutputConfigPubsubDestination pubsubDestination)
+ {
+ PubsubDestination = pubsubDestination;
+ }
+ }
+}
diff --git a/sdk/dotnet/CloudAsset/Outputs/FolderFeedFeedOutputConfigPubsubDestination.cs b/sdk/dotnet/CloudAsset/Outputs/FolderFeedFeedOutputConfigPubsubDestination.cs
new file mode 100644
index 0000000000..569d43db4e
--- /dev/null
+++ b/sdk/dotnet/CloudAsset/Outputs/FolderFeedFeedOutputConfigPubsubDestination.cs
@@ -0,0 +1,27 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Gcp.CloudAsset.Outputs
+{
+
+ [OutputType]
+ public sealed class FolderFeedFeedOutputConfigPubsubDestination
+ {
+ ///
+ /// Destination on Cloud Pubsub topic.
+ ///
+ public readonly string Topic;
+
+ [OutputConstructor]
+ private FolderFeedFeedOutputConfigPubsubDestination(string topic)
+ {
+ Topic = topic;
+ }
+ }
+}
diff --git a/sdk/dotnet/CloudAsset/Outputs/OrganizationFeedFeedOutputConfig.cs b/sdk/dotnet/CloudAsset/Outputs/OrganizationFeedFeedOutputConfig.cs
new file mode 100644
index 0000000000..3e6fb38517
--- /dev/null
+++ b/sdk/dotnet/CloudAsset/Outputs/OrganizationFeedFeedOutputConfig.cs
@@ -0,0 +1,27 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Gcp.CloudAsset.Outputs
+{
+
+ [OutputType]
+ public sealed class OrganizationFeedFeedOutputConfig
+ {
+ ///
+ /// Destination on Cloud Pubsub. Structure is documented below.
+ ///
+ public readonly Outputs.OrganizationFeedFeedOutputConfigPubsubDestination PubsubDestination;
+
+ [OutputConstructor]
+ private OrganizationFeedFeedOutputConfig(Outputs.OrganizationFeedFeedOutputConfigPubsubDestination pubsubDestination)
+ {
+ PubsubDestination = pubsubDestination;
+ }
+ }
+}
diff --git a/sdk/dotnet/CloudAsset/Outputs/OrganizationFeedFeedOutputConfigPubsubDestination.cs b/sdk/dotnet/CloudAsset/Outputs/OrganizationFeedFeedOutputConfigPubsubDestination.cs
new file mode 100644
index 0000000000..cdb5b3f280
--- /dev/null
+++ b/sdk/dotnet/CloudAsset/Outputs/OrganizationFeedFeedOutputConfigPubsubDestination.cs
@@ -0,0 +1,27 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Gcp.CloudAsset.Outputs
+{
+
+ [OutputType]
+ public sealed class OrganizationFeedFeedOutputConfigPubsubDestination
+ {
+ ///
+ /// Destination on Cloud Pubsub topic.
+ ///
+ public readonly string Topic;
+
+ [OutputConstructor]
+ private OrganizationFeedFeedOutputConfigPubsubDestination(string topic)
+ {
+ Topic = topic;
+ }
+ }
+}
diff --git a/sdk/dotnet/CloudAsset/Outputs/ProjectFeedFeedOutputConfig.cs b/sdk/dotnet/CloudAsset/Outputs/ProjectFeedFeedOutputConfig.cs
new file mode 100644
index 0000000000..8c04c759ab
--- /dev/null
+++ b/sdk/dotnet/CloudAsset/Outputs/ProjectFeedFeedOutputConfig.cs
@@ -0,0 +1,27 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Gcp.CloudAsset.Outputs
+{
+
+ [OutputType]
+ public sealed class ProjectFeedFeedOutputConfig
+ {
+ ///
+ /// Destination on Cloud Pubsub. Structure is documented below.
+ ///
+ public readonly Outputs.ProjectFeedFeedOutputConfigPubsubDestination PubsubDestination;
+
+ [OutputConstructor]
+ private ProjectFeedFeedOutputConfig(Outputs.ProjectFeedFeedOutputConfigPubsubDestination pubsubDestination)
+ {
+ PubsubDestination = pubsubDestination;
+ }
+ }
+}
diff --git a/sdk/dotnet/CloudAsset/Outputs/ProjectFeedFeedOutputConfigPubsubDestination.cs b/sdk/dotnet/CloudAsset/Outputs/ProjectFeedFeedOutputConfigPubsubDestination.cs
new file mode 100644
index 0000000000..61b04f203e
--- /dev/null
+++ b/sdk/dotnet/CloudAsset/Outputs/ProjectFeedFeedOutputConfigPubsubDestination.cs
@@ -0,0 +1,27 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Gcp.CloudAsset.Outputs
+{
+
+ [OutputType]
+ public sealed class ProjectFeedFeedOutputConfigPubsubDestination
+ {
+ ///
+ /// Destination on Cloud Pubsub topic.
+ ///
+ public readonly string Topic;
+
+ [OutputConstructor]
+ private ProjectFeedFeedOutputConfigPubsubDestination(string topic)
+ {
+ Topic = topic;
+ }
+ }
+}
diff --git a/sdk/dotnet/CloudAsset/ProjectFeed.cs b/sdk/dotnet/CloudAsset/ProjectFeed.cs
new file mode 100644
index 0000000000..9a0417d75e
--- /dev/null
+++ b/sdk/dotnet/CloudAsset/ProjectFeed.cs
@@ -0,0 +1,277 @@
+// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
+// *** Do not edit by hand unless you're certain you know what you are doing! ***
+
+using System;
+using System.Collections.Generic;
+using System.Collections.Immutable;
+using System.Threading.Tasks;
+using Pulumi.Serialization;
+
+namespace Pulumi.Gcp.CloudAsset
+{
+ ///
+ /// Describes a Cloud Asset Inventory feed used to to listen to asset updates.
+ ///
+ /// To get more information about ProjectFeed, see:
+ ///
+ /// * [API documentation](https://cloud.google.com/asset-inventory/docs/reference/rest/)
+ /// * How-to Guides
+ /// * [Official Documentation](https://cloud.google.com/asset-inventory/docs)
+ ///
+ /// ## Example Usage
+ ///
+ public partial class ProjectFeed : Pulumi.CustomResource
+ {
+ ///
+ /// A list of the full names of the assets to receive updates. You must specify either or both of
+ /// assetNames and assetTypes. Only asset updates matching specified assetNames and assetTypes are
+ /// exported to the feed. For example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1.
+ /// See https://cloud.google.com/apis/design/resourceNames#fullResourceName for more info.
+ ///
+ [Output("assetNames")]
+ public Output> AssetNames { get; private set; } = null!;
+
+ ///
+ /// A list of types of the assets to receive updates. You must specify either or both of assetNames
+ /// and assetTypes. Only asset updates matching specified assetNames and assetTypes are exported to
+ /// the feed. For example: "compute.googleapis.com/Disk"
+ /// See https://cloud.google.com/asset-inventory/docs/supported-asset-types for a list of all
+ /// supported asset types.
+ ///
+ [Output("assetTypes")]
+ public Output> AssetTypes { get; private set; } = null!;
+
+ ///
+ /// The project whose identity will be used when sending messages to the
+ /// destination pubsub topic. It also specifies the project for API
+ /// enablement check, quota, and billing. If not specified, the resource's
+ /// project will be used.
+ ///
+ [Output("billingProject")]
+ public Output BillingProject { get; private set; } = null!;
+
+ ///
+ /// Asset content type. If not specified, no content but the asset name and type will be returned.
+ ///
+ [Output("contentType")]
+ public Output ContentType { get; private set; } = null!;
+
+ ///
+ /// This is the client-assigned asset feed identifier and it needs to be unique under a specific parent.
+ ///
+ [Output("feedId")]
+ public Output FeedId { get; private set; } = null!;
+
+ ///
+ /// Output configuration for asset feed destination. Structure is documented below.
+ ///
+ [Output("feedOutputConfig")]
+ public Output FeedOutputConfig { get; private set; } = null!;
+
+ ///
+ /// The format will be projects/{projectNumber}/feeds/{client-assigned_feed_identifier}.
+ ///
+ [Output("name")]
+ public Output Name { get; private set; } = null!;
+
+ ///
+ /// The ID of the project in which the resource belongs.
+ /// If it is not provided, the provider project is used.
+ ///
+ [Output("project")]
+ public Output Project { get; private set; } = null!;
+
+
+ ///
+ /// Create a ProjectFeed resource with the given unique name, arguments, and options.
+ ///
+ ///
+ /// The unique name of the resource
+ /// The arguments used to populate this resource's properties
+ /// A bag of options that control this resource's behavior
+ public ProjectFeed(string name, ProjectFeedArgs args, CustomResourceOptions? options = null)
+ : base("gcp:cloudasset/projectFeed:ProjectFeed", name, args ?? new ProjectFeedArgs(), MakeResourceOptions(options, ""))
+ {
+ }
+
+ private ProjectFeed(string name, Input id, ProjectFeedState? state = null, CustomResourceOptions? options = null)
+ : base("gcp:cloudasset/projectFeed:ProjectFeed", name, state, MakeResourceOptions(options, id))
+ {
+ }
+
+ private static CustomResourceOptions MakeResourceOptions(CustomResourceOptions? options, Input? id)
+ {
+ var defaultOptions = new CustomResourceOptions
+ {
+ Version = Utilities.Version,
+ };
+ var merged = CustomResourceOptions.Merge(defaultOptions, options);
+ // Override the ID if one was specified for consistency with other language SDKs.
+ merged.Id = id ?? merged.Id;
+ return merged;
+ }
+ ///
+ /// Get an existing ProjectFeed resource's state with the given name, ID, and optional extra
+ /// properties used to qualify the lookup.
+ ///
+ ///
+ /// The unique name of the resulting resource.
+ /// The unique provider ID of the resource to lookup.
+ /// Any extra arguments used during the lookup.
+ /// A bag of options that control this resource's behavior
+ public static ProjectFeed Get(string name, Input id, ProjectFeedState? state = null, CustomResourceOptions? options = null)
+ {
+ return new ProjectFeed(name, id, state, options);
+ }
+ }
+
+ public sealed class ProjectFeedArgs : Pulumi.ResourceArgs
+ {
+ [Input("assetNames")]
+ private InputList? _assetNames;
+
+ ///
+ /// A list of the full names of the assets to receive updates. You must specify either or both of
+ /// assetNames and assetTypes. Only asset updates matching specified assetNames and assetTypes are
+ /// exported to the feed. For example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1.
+ /// See https://cloud.google.com/apis/design/resourceNames#fullResourceName for more info.
+ ///
+ public InputList AssetNames
+ {
+ get => _assetNames ?? (_assetNames = new InputList());
+ set => _assetNames = value;
+ }
+
+ [Input("assetTypes")]
+ private InputList? _assetTypes;
+
+ ///
+ /// A list of types of the assets to receive updates. You must specify either or both of assetNames
+ /// and assetTypes. Only asset updates matching specified assetNames and assetTypes are exported to
+ /// the feed. For example: "compute.googleapis.com/Disk"
+ /// See https://cloud.google.com/asset-inventory/docs/supported-asset-types for a list of all
+ /// supported asset types.
+ ///
+ public InputList AssetTypes
+ {
+ get => _assetTypes ?? (_assetTypes = new InputList());
+ set => _assetTypes = value;
+ }
+
+ ///
+ /// The project whose identity will be used when sending messages to the
+ /// destination pubsub topic. It also specifies the project for API
+ /// enablement check, quota, and billing. If not specified, the resource's
+ /// project will be used.
+ ///
+ [Input("billingProject")]
+ public Input? BillingProject { get; set; }
+
+ ///
+ /// Asset content type. If not specified, no content but the asset name and type will be returned.
+ ///
+ [Input("contentType")]
+ public Input? ContentType { get; set; }
+
+ ///
+ /// This is the client-assigned asset feed identifier and it needs to be unique under a specific parent.
+ ///
+ [Input("feedId", required: true)]
+ public Input FeedId { get; set; } = null!;
+
+ ///
+ /// Output configuration for asset feed destination. Structure is documented below.
+ ///
+ [Input("feedOutputConfig", required: true)]
+ public Input FeedOutputConfig { get; set; } = null!;
+
+ ///
+ /// The ID of the project in which the resource belongs.
+ /// If it is not provided, the provider project is used.
+ ///
+ [Input("project")]
+ public Input? Project { get; set; }
+
+ public ProjectFeedArgs()
+ {
+ }
+ }
+
+ public sealed class ProjectFeedState : Pulumi.ResourceArgs
+ {
+ [Input("assetNames")]
+ private InputList? _assetNames;
+
+ ///
+ /// A list of the full names of the assets to receive updates. You must specify either or both of
+ /// assetNames and assetTypes. Only asset updates matching specified assetNames and assetTypes are
+ /// exported to the feed. For example: //compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1.
+ /// See https://cloud.google.com/apis/design/resourceNames#fullResourceName for more info.
+ ///
+ public InputList AssetNames
+ {
+ get => _assetNames ?? (_assetNames = new InputList());
+ set => _assetNames = value;
+ }
+
+ [Input("assetTypes")]
+ private InputList? _assetTypes;
+
+ ///
+ /// A list of types of the assets to receive updates. You must specify either or both of assetNames
+ /// and assetTypes. Only asset updates matching specified assetNames and assetTypes are exported to
+ /// the feed. For example: "compute.googleapis.com/Disk"
+ /// See https://cloud.google.com/asset-inventory/docs/supported-asset-types for a list of all
+ /// supported asset types.
+ ///
+ public InputList AssetTypes
+ {
+ get => _assetTypes ?? (_assetTypes = new InputList());
+ set => _assetTypes = value;
+ }
+
+ ///
+ /// The project whose identity will be used when sending messages to the
+ /// destination pubsub topic. It also specifies the project for API
+ /// enablement check, quota, and billing. If not specified, the resource's
+ /// project will be used.
+ ///
+ [Input("billingProject")]
+ public Input? BillingProject { get; set; }
+
+ ///
+ /// Asset content type. If not specified, no content but the asset name and type will be returned.
+ ///
+ [Input("contentType")]
+ public Input? ContentType { get; set; }
+
+ ///
+ /// This is the client-assigned asset feed identifier and it needs to be unique under a specific parent.
+ ///
+ [Input("feedId")]
+ public Input? FeedId { get; set; }
+
+ ///
+ /// Output configuration for asset feed destination. Structure is documented below.
+ ///
+ [Input("feedOutputConfig")]
+ public Input? FeedOutputConfig { get; set; }
+
+ ///
+ /// The format will be projects/{projectNumber}/feeds/{client-assigned_feed_identifier}.
+ ///
+ [Input("name")]
+ public Input? Name { get; set; }
+
+ ///
+ /// The ID of the project in which the resource belongs.
+ /// If it is not provided, the provider project is used.
+ ///
+ [Input("project")]
+ public Input? Project { get; set; }
+
+ public ProjectFeedState()
+ {
+ }
+ }
+}
diff --git a/sdk/dotnet/CloudAsset/README.md b/sdk/dotnet/CloudAsset/README.md
new file mode 100644
index 0000000000..061b113996
--- /dev/null
+++ b/sdk/dotnet/CloudAsset/README.md
@@ -0,0 +1 @@
+A Pulumi package for creating and managing Google Cloud Platform resources.
diff --git a/sdk/dotnet/CloudFunctions/Function.cs b/sdk/dotnet/CloudFunctions/Function.cs
index f144323c87..9552b7f99a 100644
--- a/sdk/dotnet/CloudFunctions/Function.cs
+++ b/sdk/dotnet/CloudFunctions/Function.cs
@@ -99,7 +99,7 @@ public partial class Function : Pulumi.CustomResource
///
/// The runtime in which the function is going to run.
- /// Eg. `"nodejs8"`, `"nodejs10"`, `"python37"`, `"go111"`.
+ /// Eg. `"nodejs8"`, `"nodejs10"`, `"python37"`, `"go111"`, `"go113"`.
///
[Output("runtime")]
public Output Runtime { get; private set; } = null!;
@@ -285,7 +285,7 @@ public InputMap